当我试图找到并修改时,mongodb错了

时间:2013-02-27 11:00:22

标签: javascript node.js mongodb mongoskin

这是mongodb中的结构

{   code:'ACBD5588',
    email:'owner@mail.com',
    object{
        array_doc:[//many documents with this structure
        {
            code_doc:'ANCB7894',
            info_doc:'....',
            //etc
        }
        ],
        counting:45,
    }
}

我试图删除数组中的文档,这个文件有一个唯一的code_array,所以在数组中有很多带有唯一code_array的文档,我想删除数组中的文档

db.collection('database').findAndModify(
        {
            'code':code,
            'email':email,
        },[],{$pull:{'object.array_doc':{'code_doc':code_doc}}},function(err,resultado)
        {

但操作给了我这个错误

uncaught exception: findAndModifyFailed failed: { "errmsg" :
 "need remove or update", "ok" : 0 }

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的MongoDB?在最新版本中,MongoDB期望在findAndModify命令中明确提及“update”或“remove”。请改用以下查询。

db.collectionName.findAndModify({
  query : {
    'code':code,
    'email':email
  },
  update: {
     $pull : {'object.array_doc':{'code_doc':code_doc} }
  }
})