Sou muito novo no mongoDB e no popular ORM Mongoose. E eu passei muito tempo tentando descobrir a maneira correta de salvar sub-documentos no mangusto. A documentação do mongoose mostra como atribuir valores a cada propriedade de um subdocumento ao colocá-lo na matriz de subdocumento, mas com que frequência você fará isso? Se você estiver usando o Mongoose, provavelmente tem um modelo para o subdocumento e provavelmente o está distribuindo entre seus controladores e modelos. Então, como alguém persiste um modelo de um subdocumento para o documento pai? Aqui está um exemplo:
Primeiro, o modelo e o esquema:
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;
var childSchema = new Schema({
foo: String
});
var Child = mongoose.model('Child',childSchema);
model['Child'] = Child;
var parentSchema = new Schema({
parent_foo: String
,children: [model["Child"].schema]
});
var Parent = mongoose.model('Parent',parentSchema);
model['Parent'] = Parent;
E aqui está um exemplo de como salvar o subdocumento (assumindo que myParent é um objeto do tipo Parent e myChild é um objeto do tipo Child):
myParent.children.push(myChild);
Referências:
http://mongoosejs.com/docs/subdocs.html
https://groups.google.com/forum/?fromgroups=#!topic/mongoose-orm/IIaVEHcEDTw