0

这是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 }
4

1 回答 1

0

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

db.collectionName.findAndModify({
  query : {
    'code':code,
    'email':email
  },
  update: {
     $pull : {'object.array_doc':{'code_doc':code_doc} }
  }
})
于 2015-01-12T07:57:19.313 回答