No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
7 Hrs
41 Min
7 Seg

Relaciones 1 a 1 embebidas

13/22
Recursos

Aportes 4

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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).

Una relación 1 a 1 embebida se recomienda cuando: 1. La información se consulta en conjunto (ej. usuario y su dirección). 2. Los subdocumentos son una dependencia directa del documento principal. 3. En el 90% de los casos, las relaciones 1 a 1 son embebidas. Esto mejora la eficiencia en las consultas.