Saya masih baru di Node, Mongoose, dan Mongo, tapi saya rasa saya bisa menjawab setidaknya sebagian dari pertanyaan Anda. :)
Metode Anda saat ini sama dengan yang saya coba lakukan pada awalnya. Pada dasarnya, akhirnya menyimpannya sangat mirip dengan ini (ditulis dalam JS, karena saya tidak tahu CoffeeScript):
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
Saya kemudian menemukan metode ini, yang saya cari, dan saya pikir apa yang Anda maksudkan:
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Ini menyimpan larik ObjectIds, yang kemudian dapat Anda muat menggunakan Query#populate
dalam bahasa luwak.
Saya tidak tahu implikasi teknisnya, tetapi lebih masuk akal di otak saya jika saya memisahkannya, jadi itulah yang saya lakukan. :)
Sunting:Berikut adalah beberapa dokumen resmi yang mungkin berguna:http://mongoosejs.com/docs/ populate.html