Ich bin noch neu bei Node, Mongoose und Mongo, aber ich denke, ich kann zumindest einen Teil Ihrer Frage beantworten. :)
Ihre aktuelle Methode ist die gleiche, die ich zuerst versucht habe. Grundsätzlich wird es sehr ähnlich wie hier gespeichert (in JS geschrieben, da ich CoffeeScript nicht kenne):
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
Ich habe später diese Methode gefunden, nach der ich gesucht habe, und ich denke, was Sie beabsichtigt haben:
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Diese speichert ein Array von ObjectIds, die Sie dann mit Query#populate
laden können in Mungo.
Ich kenne die technischen Auswirkungen nicht, aber für mein Gehirn ergibt es mehr Sinn, wenn ich sie getrennt halte, also mache ich das. :)
Bearbeiten:Hier sind einige offizielle Dokumente, die nützlich sein könnten:http://mongoosejs.com/docs/ bevölkern.html