Sono ancora nuovo di Node, Mongoose e Mongo, ma penso di poter rispondere almeno in parte alla tua domanda. :)
Il tuo metodo attuale è lo stesso che ho provato a fare all'inizio. Fondamentalmente, finisce per archiviarlo in modo molto simile a questo (scritto in JS, poiché non conosco CoffeeScript):
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
name: String,
desc: String,
dueOn: Date,
completedOn: Date
}]
});
In seguito ho trovato questo metodo, che è quello che stavo cercando, e penso a quello che intendevi :
var todoListSchema = new mongoose.Schema({
name: String,
todos: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Todo' //Edit: I'd put the schema. Silly me.
}]
});
Questo memorizza una matrice di ObjectId, che puoi quindi caricare utilizzando Query#populate
in Mangusta.
Non conosco le implicazioni tecniche, ma ha più senso nel mio cervello se le tengo separate, quindi è quello che sto facendo. :)
Modifica:ecco alcuni documenti ufficiali che potrebbero essere utili:http://mongoosejs.com/docs/ popola.html