コレクションが次のようになっているとします。
db.mytests.find()
{ "_id" : ObjectId("4fb277b89b8295a790efde44"),
"mylist": [
{ "foo1" :"bar1", "foo2" : "bar2" },
{"foo1" : "bar3", "foo2" : "bar4" }
],
"nonlist" : "nonlistVal" }
更新に関するmongodbドキュメントmylist
を読んだ後、これを使用したドキュメントを削除したい:foo1
bar1
db.mytests.update({},{$pull:{'mylist':{'mylist.$.foo1':'bar1'}}})
しかし、それは失敗しました。mytests
問題を解決するために、これを使用して新しい配列を挿入します。
db.mytests.update({},{$set:{'anotherList':[1,2,3,4]}})
次に、配列内db.mytests.update({},{$pull:{'anotherList':{$gt:3}}})
の要素をプルするために
使用すると、成功します。4
anotherList
問題はmylist.$.foo1
?にあると思います。配列内のドキュメント要素を削除する正しい方法を教えてください。