我尝试更新集合字段并将新数据添加到子文档(数组)。无论如何它可以在一个电话中完成吗?
我想更新文档:
{
last_modified:dateObj,
subDoc:[]
}
以下内容:
{
last_modified:new DateObj,
subDoc:[{newObj:newObj}]
}
答案 0 :(得分:2)
假设您的架构如下:
var Data = new Schema({
last_modified : Date,
subDoc : [Schema.Types.Mixed]
});
然后你可以在一个方法调用中修改(我将使用Mongoose's concept of methods):
Data.methods.addDocument = function(newObj, cb){
this.last_modified = Date.now();
this.subDoc.push(newObj);
this.save(cb);
}
此操作将是原子操作,例如,last_modified
和subDoc
都将被修改,或者都不会修改。