Je suis encore nouveau sur Node, Mongoose et Mongo, mais je pense pouvoir répondre au moins en partie à votre question. :)
Votre méthode actuelle est la même que celle que j'ai essayé de faire au début. Fondamentalement, il finit par le stocker de manière très similaire à ceci (écrit en JS, puisque je ne connais pas CoffeeScript) :
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
J'ai trouvé plus tard cette méthode, qui est ce que je cherchais, et je pense que ce que vous vouliez :
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Cela stocke un tableau d'ObjectIds, que vous pouvez ensuite charger en utilisant Query#populate
dans Mangouste.
Je ne connais pas les implications techniques, mais cela a plus de sens dans mon cerveau si je les garde séparés, c'est donc ce que je fais. :)
Edit :Voici quelques documents officiels qui pourraient être utiles :http://mongoosejs.com/docs/ peupler.html