Upload
gabriel-gabriel
View
218
Download
0
Embed Size (px)
Citation preview
7/26/2019 Introduccion a Mongo Insert
1/23
Oscar Acero
Universidad IsraelPeriodo 2016 -2016
7/26/2019 Introduccion a Mongo Insert
2/23
MongoDB
Es la Base de Datos NoSQ l!der en"
Bases de Datos de
Pro#$sitos %enerales
Bases de Datos
Doc&'entales
Bases de Datos
De ($digo A)ierto
7/26/2019 Introduccion a Mongo Insert
3/23
MongoDB (aracter!sticas *SON Doc&'ent Model con
Es+&e'a Din,'ico
Particiona'ientoa&to',tico A&to-S.arding/#ara Escala'iento
oriontal Bs+&edas de te3to 4&ll
5e3t Searc./
Aggregation 4ra'eor7 8Ma#9ed&ce Nativo o conadooo#:
So#orte de Indices
(o'#leto 8 ;le3i)le
(ons<as (o'#le
7/26/2019 Introduccion a Mongo Insert
4/23
MongoDB > Enter#rise I5 Stac7
M
anagement&
Monitoring
Securit
y&Auditing
9DBMS
Offline Data
adoo# ED?
Applications
CRM, ERP, Collaboration, Mobile, BI
Data Management
Infrastructure
OS & Virtualization, Compute, Storage, Network
9DBMS
Online Data
7/26/2019 Introduccion a Mongo Insert
5/23
5er'inolog!a 9DBMS vs: MongoDB
RDBMS MongoDB
Data)ase instance MongoDB instance
Data)ase @ Sc.e'a Data)ase
5a)le (ollection9o Doc&'ent
9oid id
*oin D)re;
7/26/2019 Introduccion a Mongo Insert
6/23
Estr&ct&ra l$gica
JSON
Cnro"12F
descr"#r&e)aG
BSON
Total 32 bytes
Tamao M!imo
os doc&'entos no #&eden ser 'a8ores a"#MbF #ero e3isten o)
7/26/2019 Introduccion a Mongo Insert
7/23
Modelado de 9elaciones entreDoc&'entos
Relaciones -no a -no
con documentos embebidosModelo Normali.ado
Coleccin Personas
{ _id:u0001",
nombre:Juan Martn Hernandez,
direccion:{calle:Malabia
22",
ciudad:C!!",
$ro%incia:C!!",
codPostal:"1&2'"
(
(
Si la direcci$n es &n dato ;rec&ente'ente cons<ado
7/26/2019 Introduccion a Mongo Insert
8/23
Modelado de 9elacionesentre Doc&'entos
Relaciones -no a Muc)os
/on Documentos 0mbebidos
Modelo Normali.adoColeccin Personas
{ _id:u0001",
nombre:Juan Martn Hernandez"
(
Coleccin Direcciones
{ $ersona_id:
u0001", calle:
Malabia 22",
ciudad:C!!",
$ro%incia:C!!",
codPostal:"1&2'"(
Si las direcciones son &n dato ;rec&ente'ente cons<ado
7/26/2019 Introduccion a Mongo Insert
9/23
Modelado de 9elacionesentre Doc&'entos
Relaciones -no a Muc)os /on Documentos Re1erenciados
/oleccin libros{titulo:"Mono): 3e )e4initi%e 5uide",
autor:* "6+ C3odoro7", "M+ )irol4" ,
4ec3aPublicacion: 89)ate"2010;0
7/26/2019 Introduccion a Mongo Insert
10/23
Modelado de 9elacionesentre Doc&'entos
Relaciones -no a Muc)os /on Documentos Re1erenciados/oleccin0ditores
/oleccinlibros{titulo:"Mono): 3e )e4initi%e 5uide",
autor:* "6+ C3odoro7", "M+ )irol4" ,
4ec3aPublicacion: 89)ate"2010;0
7/26/2019 Introduccion a Mongo Insert
11/23
5i#os de datos
Data Ty*e Descri*tion
String 5odos los stringstienen +&e ser U54-H:Si el string no es U54-H MongoDBlo to'ar, co'oDato Binario:
Arra8s valorF v alorF v alorJ
Doc&'entose')e)idos 7e8"val&eF 7e82"val&e2G
Dates Se #&ede &tiliar el constr&ctor ISODA5E #ara asignar valores de la ;or'a
ISODateK2012-12-1L506"01"1:11K/
O)
7/26/2019 Introduccion a Mongo Insert
12/23
En +&R casos &sarlas
MongoDB tiene &n leng&a
7/26/2019 Introduccion a Mongo Insert
13/23
En +&R casos &sarlo
(ogging de 0entos+ las )ases de datos )asadas en doc&'entos #&ede log&ear c&al+&ier clase
de eventos 8 al'acenarlos con s&s di;erentes estr&ct&ras:
+ P&eden ;&ncionar co'o &n re#ositorio central de log&eo de eventos:
/MS4 blogging+s& ;alta de estr&ct&ra #rede;inida .ace +&e ;&ncionen )ien #ara este ti#o de
a#licaciones:
7/26/2019 Introduccion a Mongo Insert
14/23
5eb6analytics 7 Real6Time analytics+ Al'acenar cantidad de vistas a &na #,gina o visitantes nicos:
06/ommerce"+ A 'en&do re+&ieren tener es+&e'as ;le3i)les #ara los #rod&ctos 8 $rdenes
En +&R casos &sarlo
7/26/2019 Introduccion a Mongo Insert
15/23
En +&R casos NO &sarlo
5ransacciones (o'#le
7/26/2019 Introduccion a Mongo Insert
16/23
8asemos a un caso *rctico4
/omen.amos con MongoDB9
7/26/2019 Introduccion a Mongo Insert
17/23
(aso Pr,ctico
7/26/2019 Introduccion a Mongo Insert
18/23
(aso Pr,ctico
7/26/2019 Introduccion a Mongo Insert
19/23
(aso Pr,ctico
Se re:uiere armar un modelo :ue contenga la in1ormacin de las
1acturas y todos sus ;tems4 detallando el nombre4 a*ellido4 cuit y
regin del cliente al :ue se le emiti la 1actura9 0sta in1ormacin se
re:uiere *ara *ublicar en nuestro *ortal de *roeedores y nuestro
ob
7/26/2019 Introduccion a Mongo Insert
20/23
(aso Pr,ctico
= nro%actura> ???????41ec)a0mision> @SODateyyyy6mm6ddT))>mm>ssCE4
1ec)aFencimiento> @SODateyyyy6mm6ddT))>mm>ssCE4
cond8ago>GGGGGGGG
H
7/26/2019 Introduccion a Mongo Insert
21/23
(aso Pr,ctico
= nro%actura> ???????41ec)a0mision> @SODateyyyy6mm6ddT))>mm>ssCE4
1ec)aFencimiento> @SODateyyyy6mm6ddT))>mm>ssCE4
cond8ago> GGGGGGGG4
cliente>= nombre> GGGGGG4
a*ellido> GGGGGGGG4
cuit>?????????????4
region>/ABAH
H
7/26/2019 Introduccion a Mongo Insert
22/23
(aso Pr,ctico
= nro%actura> ???????41ec)a0mision> @SODateyyyy6mm6ddT))>mm>ssCE4
1ec)aFencimiento> @SODateyyyy6mm6ddT))>mm>ssCE4
cond8ago> GGGGGGGG4
cliente>= nombre> GGGGGG4
a*ellido> GGGGGGGG4
cuit>?????????????4
region>/ABAH4
items>I=*roducto>GGGGGGGG4 cantidad> ???4 *recio>??9??H 4
=*roducto>GGGGGGGG4 cantidad> ???4 *recio>??9??H
H
7/26/2019 Introduccion a Mongo Insert
23/23
Es+&e'a de Datos
/aso 8rctico en MongoDB
0"HE
db9*rueba9insert=!>"4y>2HE
db9*rueba9insert=!>24y>3HE
-- Se crea la colecci$n*rueba si no e3iste:
db9*rueba9insert=!>"4y>&4.>33HE
(ons<a'os los datosdb9*rueba91indE
db9*rueba91indE9sort=!>"4y>"HE - Ordena el res<ado #or el atri)&to!8 el atri)&toy ascendentes: