Nadal jestem nowy w Node, Mongoose i Mongo, ale myślę, że mogę odpowiedzieć na przynajmniej część twojego pytania. :)
Twoja obecna metoda jest taka sama, jak na początku. Zasadniczo przechowuje to bardzo podobnie do tego (napisanego w JS, ponieważ nie znam CoffeeScript):
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
Później znalazłem tę metodę, której szukałem i myślę, że zamierzałeś:
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Przechowuje tablicę identyfikatorów ObjectId, które można następnie załadować za pomocą Query#populate
w Mongoose.
Nie znam technicznych implikacji, ale w moim mózgu będzie miało większy sens, jeśli oddzielę je od siebie, więc to właśnie robię. :)
Edycja:Oto kilka oficjalnych dokumentów, które mogą być przydatne:http://mongoosejs.com/docs/ zapełnij.html