sql >> Base de Datos >  >> NoSQL >> MongoDB

Comprender las relaciones y las claves externas en Mongoose

Todavía soy nuevo en Node, Mongoose y Mongo, pero creo que puedo abordar al menos parte de su pregunta. :)

Su método actual es el mismo que intenté hacer al principio. Básicamente, termina almacenándolo de manera muy similar a esto (escrito en JS, ya que no conozco CoffeeScript):

var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        name: String,
        desc: String,
        dueOn: Date,
        completedOn: Date
    }]
});

Más tarde encontré este método, que es lo que estaba buscando, y creo que lo que pretendías:

var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Todo' //Edit: I'd put the schema. Silly me.
    }]
});

Esto almacena una matriz de ObjectIds, que luego puede cargar usando Query#populate en Mangosta.

No conozco las implicaciones técnicas, pero tiene más sentido en mi cerebro si las mantengo separadas, así que eso es lo que estoy haciendo. :)

Editar:aquí hay algunos documentos oficiales que pueden ser útiles:http://mongoosejs.com/docs/ poblar.html