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 に答える