Jag är fortfarande ny på Node, Mongoose och Mongo, men jag tror att jag kan ta upp åtminstone en del av din fråga. :)
Din nuvarande metod är densamma som jag försökte göra först. I grund och botten slutar det med att det lagras väldigt likt detta (skrivet i JS, eftersom jag inte kan CoffeeScript):
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
Jag hittade senare den här metoden, vilket är vad jag letade efter, och jag tror vad du tänkte:
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Detta lagrar en array av ObjectIds, som du sedan kan ladda med Query#populate
i Mongoose.
Jag känner inte till de tekniska implikationerna, men det är mer vettigt i min hjärna om jag håller dem åtskilda, så det är vad jag gör. :)
Edit:Här är några officiella dokument som kan vara användbara:http://mongoosejs.com/docs/ populate.html