Apuntes
Relaciones 1 a Muchos embebidas
La relacion embebida 1 a muchos embebida es tener una lista (arreglo) de sub-documentos de una coleccion. El documento puede tener varios sub-documentos de una coleccion y esos sub-documentos dependen del documento padre y solo tienen ese.
Casos de uso
- Cuando la informacion es consultada en conjunto
- El arreglo de subdocumentos no peligre el limite de 16MB
- Cuando los sub-documentos son una dependencia
- Cuando los dub-docs son 1:few (1 a pocos)
Ejemplo
En la siguiente imagen se puede ver la coleccion de ordenes que tienen una relacion embebida 1-N de productos. La representacion ER es agregar al final del nombre de la coleccion del sub-documento corchetes (Product []
).
db.orders.insertOne({
user_id: ObjectId('64966222a80142b1ef0dbb5a'), // referencia a un ObjectID de un usuario
date: "2020-12-12",
items: [
{
name: 'Camiseta',
price: 12000,
qty: 1
},
{
name: 'Pantalon',
price: 16000,
qty: 2
},
]
})
<h5>Consultar</h5>
// buscar el id de un usuario
db.users.find()
// ver las ordenes de compra
db.orders.find()
// Buscar algo en concreto de las ordenes
db.orders.find({
"items.qty": 2
})
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?