7

mongodb に関する問題に遭遇しました。

db.tt.find()
{ "_id" : ObjectId("513c971be4b1f9d71bc8c769"), 
  "name" : "a", 
  "comments" : [ { "name" : "2" }, { "name" : "3" } ] 
}

上記はテスト文書です。

私はcomments.name = 2をプルしたい

私がやります

db.tt.update({'comments.name':'2'},{'$pull':{'comments.$.name':'2'}});

ただし、コンソールには次のメッセージが出力されます。

非配列に $pull/$pullAll 修飾子を適用できません

私のmongodbのバージョンは2.0.6です

誰が私を助けることができます?どうもありがとうございました

4

1 に答える 1

12

構文$pullがオフになっている場合は、次のようになります。

db.tt.update({'comments.name': '2'}, {$pull: {comments: {name: '2'}}})
于 2013-03-10T15:17:02.513 に答える