ここに私のコレクション(労働者)があります:
"type" : "Manager",
"employees" : [{
"name" : "bob"
"id" : 101
},{
"name" : "phil"
"id" : 102
},{
"name" : "bob"
"id" : 103
}]
まず、これは配列ではないため、$pullAll やその他の配列コマンドは機能しません。私がやりたいことは次のとおりです。(1)タイプ ManagerのすべてのサブドキュメントでID 101 のコレクションを検索します。(2) 101 が"Manager"サブドキュメントに存在する場合、アイテム 103 を削除したい.
私はこの問題について 2 日間インターウェブを飛び交いましたが、理解できません。
私はこれを試しました(および他の多くのバリエーション):
db.workers.update( {"type":"Manager","employees.id":101},{$pull : {"employees.id" : {"id" : 103}}},false,true)