我想更新数组并返回文档.我的findAndModify语法是否正确?
this.becomeFollower = function(title,username,callback){
"use strict"
posts.findAndModify({
query: {"title":title,"roster":"yes"},update: { "$addToSet": { "followers":username } },new: true,upsert: true
},function(err,doc){
console.log('find and modified ' +doc);
});
}
使用它我没有问题:
posts.update({"title":title,{ "$addToSet": { "followers":username } },roster){
"use strict"
if(err) return callback(err,null);
callback(err,roster);
});
解决方法
看看
docs for node-mongodb findAndModify;签名看起来像:
collection.findAndModify(query,sort,update,options,callback)
所以你应该这样做:
posts.findAndModify(
{"title":title,[['_id','asc']],{new: true,upsert: true},doc){
console.log('find and modified ' +doc);
}
);
sort参数可能是可选的,但它不清楚所以我将它包含在示例中.