6

コレクションに次のドキュメントがあります。

"_id" : "2",
"workspace" : [{
        "name" : "1",
        "widgets" : [ ]
    },{
        "name" : "2",
        "widgets" : [ ]
    },{
        "name" : "3",
        "widgets" : [ ]
    },{
        "name" : "4",
        "widgets" : [ ]
    }
]}

{id: "1", blabla: "blabla"}「名前」3の「ウィジェット」に挿入するにはどうすればよいですか?

4

1 に答える 1

11

ドキュメントのルートにすべてを挿入するだけの以前の回答と比較して、位置演算子を使用してこれを行う正しい方法を次に示します。

db.t.update({
 "_id" : "2",
 "workspace.name" : "3"
},{
 $push: {
   'workspace.$.widgets' : {
       id: "2",
       blabla: "blabla"
   }
 }
});
于 2013-10-31T22:54:39.383 に答える