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

我想更新数组并返回文档.我的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参数可能是可选的,但它不清楚所以我将它包含在示例中.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...