Introduccion a Mongo Insert

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&ltas (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&ltado

  • 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&ltado

  • 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&lta'os los datosdb9*rueba91indE

    db9*rueba91indE9sort=!>"4y>"HE - Ordena el res&ltado #or el atri)&to!8 el atri)&toy ascendentes: