1
我有一系列遵循這種結構的MongoDB文件:一個元素添加屬性,蒙戈陣列(基於該陣列項目的另一個屬性)
{
"_id": "myId",
"myArray": [
{"foo": "bar"},
{"foo": "baz"}
]
}
另一種可能是這樣的:
{
"_id": "myOtherId",
"myArray": [
{"foo": "bar"},
{"foo": "baz"}
]
}
我需要添加一個屬性到任何數組元素,其中foo = bar只有當id = myOtherId ...換句話說,所以我的第二個文檔看起來像這樣(但第一個文檔不會更新):
{
"_id": "myOtherId",
"myArray": [
{"foo": "bar","foot":"bart"},
{"foo": "baz"}
]
}
我知道我更新的第一個參數是這樣的:
db.coll.update({$and:[{"_id":"myOtherId"},{"myArray.foo":"bar"}]}, // but what comes in the $set?
我怎麼然後撰寫了$set
參數,因此,只有在我需要它{"$foot":"bart"}
加入?有沒有辦法捕獲數組項目的索引值,或更好的方式來處理它?
完美...位置操作。謝謝你的回答,併爲我教授新的東西。 – jlmcdonald