MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Entendendo relacionamentos e chaves estrangeiras no Mongoose


Ainda sou novo no Node, Mongoose e Mongo, mas acho que posso responder pelo menos parte da sua pergunta. :)

Seu método atual é o mesmo que tentei fazer no início. Basicamente, ele acaba armazenando de forma bem parecida com isso (escrito em JS, já que não conheço CoffeeScript):
var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        name: String,
        desc: String,
        dueOn: Date,
        completedOn: Date
    }]
});

Mais tarde, encontrei este método, que é o que eu estava procurando, e acho que você pretendia:
var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Todo' //Edit: I'd put the schema. Silly me.
    }]
});

Isso armazena uma matriz de ObjectIds, que você pode carregar usando Query#populate em Mangusto.

Não sei das implicações técnicas, mas faz mais sentido no meu cérebro se eu as mantiver separadas, então é isso que estou fazendo. :)

Edit:Aqui estão alguns documentos oficiais que podem ser úteis:http://mongoosejs.com/docs/ populate.html