馃敟 DOCUMENTOS ANIDADOS EN MONGOOSE: MODELANDO RELACIONES EN MONGODB

Documentos anidados en Mongoose: Modelando relaciones en MongoDB

驴C贸mo anidar documentos en Mongoose?

El modelo de almacenamiento NoSQL permite almacenar documentos anidados de forma muy sencilla. Por ejemplo, en lugar de tener dos colecciones como publicaciones y autores, podemos tener una sola colecci贸n autores, y dentro de cada uno de estos las publicaciones asociadas a este autor.

La decisi贸n de si separar colecciones o anidarlas es mas bien basada en la arquitectura, y depende del uso.

Ejemplo del uso de documentos anidados en Mongoose

const publicacionSchema = new mongoose.Schema({
    titulo: String,
    genero: String,
});
const autorSchema = new mongoose.Schema({
    nombre: String,
    publicaciones: [publicacionSchema],
});
const author = new mongoose.model("Autor", autorSchema);

Para crear un nuevo autor o para guardar una publicaci贸n de dicho autor cuando se trabaja con documentos anidados, se utilizan las publicaciones como un arreglo y se usa el m茅todo push de Javascript o el operador $push de MongoDB.

Supongamos que deseamos agregar un nuevo post a nuestro autor creado en el bloque anterior.

author.update(
    { _id: autorId },
    { $push: { publicaciones: nuevaPublicacion } },
    (err, res) => {
        // verificar si hay error
        // manejar la respuesta
    }
);