No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Relaciones 1 a 1 embebidas

13/22
Recursos

Aportes 3

Preguntas 2

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Relaciones 1 a 1 embebidas

La utilizamos cuando tenemos una dependencia interna de ciertos atributos que estan relacionados o que se repiten para diferentes casos. Entonces se realizaran subdocumentos que contengan esos atributos relacionados.

Casos recomendables de uso

En el 90% de los casos, cuando hay una relacion 1:1, esta suele ser embebida.

  • Cuando la informacion se consulta en conjunto
  • Los sub-documentos sean una dependencia directa

Por ejemplo:

Tenemos en una tienda online un usuario que tiene una direccion de su casa y otra de envio. Estas direcciones tienen varios atributos que comparten y para cada uno estan relacionados.

Entonces agrupamos estas propiedades en sub-documentos (objetos) en direccion casa y direccion de envio.

Insertar datos para embebed 1-1

db.users.insertOne({ // insertar un documento
    name: "pam", // propiedad del documento
    address: { // subdocumento (Embebido)
        street: "Calle falsa 123", // propiedad del subdocumento
        city: "Sprinfield",
        zip: 1234
    },
    shipping_address: {
        street: "Calle falsa 124",
        city: "Sprinfield",
        zip: "1235"
    }
})

Consultar datos en embebed 1-1

db.users.find({
    "address.city": "Sprinfield" // Filtrar con una propiedad de un sub-documento
})

Relaciones

  • Enbeber; dentro del mismo documento
  • Referenciar; dsando el ObjectId de otra colecci√≥n

Un método para identificar cuál opción usar nos hacemos la siguiente pregunta:

  • ¬ŅQu√© tan frecuente es CONSULTADA la informaci√≥n?
  • ¬ŅQu√© tan frecuente es ACTUALIZADA la informaci√≥n?
  • La informaci√≥n se consulta en CONJUNTO o POR PARTES?

Si se consulta en conjunto se recomienda EMBEBIDA
Si se consulta por partes se recomienda REFERENCIADA

En el 90% de los casos, cuando hay una relacion 1:1, esta suele estar EMBEBIDA.

En la gran mayoría de los casos las **relaciones 1-1 ** en mongodb son embebidas, ya que estas se manejan como si fueran atributos directos de la entidad principal dentro de subdocumentos y por lo general la información se consulta en conjunto (existe una interdependencia directa de los datos).