V Node, Mongoose a Mongo jsem stále nový, ale myslím, že dokážu odpovědět alespoň na část vaší otázky. :)
Vaše současná metoda je stejná, jako jsem to zkoušel na začátku. V podstatě to skončí uložením velmi podobně jako toto (napsané v JS, protože CoffeeScript neznám):
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
Později jsem našel tuto metodu, což je to, co jsem hledal, a myslím, že to, co jste měli v úmyslu:
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Toto uloží pole ObjectId, které pak můžete načíst pomocí Query#populate
v Mongoose.
Nevím o technických důsledcích, ale v mém mozku dává větší smysl, když je nechám oddělené, takže to dělám. :)
Edit:Zde je několik oficiálních dokumentů, které by mohly být užitečné:http://mongoosejs.com/docs/ naplnit.html