javascript – findAndModify – MongoError:exception:必须指定删除或更新

前端之家收集整理的这篇文章主要介绍了javascript – findAndModify – MongoError:exception:必须指定删除或更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更新数组并返回文档.我的findAndModify语法是否正确?
  1. this.becomeFollower = function(title,username,callback){
  2. "use strict"
  3.  
  4. posts.findAndModify({
  5. query: {"title":title,"roster":"yes"},update: { "$addToSet": { "followers":username } },new: true,upsert: true
  6. },function(err,doc){
  7. console.log('find and modified ' +doc);
  8. });
  9.  
  10. }

使用它我没有问题:

  1. posts.update({"title":title,{ "$addToSet": { "followers":username } },roster){
  2. "use strict"
  3. if(err) return callback(err,null);
  4. callback(err,roster);
  5. });

解决方法

看看 docs for node-mongodb findAndModify;签名看起来像:
  1. collection.findAndModify(query,sort,update,options,callback)

所以你应该这样做:

  1. posts.findAndModify(
  2. {"title":title,[['_id','asc']],{new: true,upsert: true},doc){
  3. console.log('find and modified ' +doc);
  4. }
  5. );

sort参数可能是可选的,但它不清楚所以我将它包含在示例中.

猜你在找的JavaScript相关文章