1
是否可以執行一個MongoDB查詢,increment
嵌套文檔的字段並在文檔不存在時創建嵌套文檔?MongoDB使用upsert增加嵌套文檔
例子:
{
id: ...
nestedArray: [
{kind: "foo", times: 10}
]
}
讓我們說,我想增加一個字段nestedArray.$.times
其中kind: "bar"
但bar
不數組中存在了嗎?因此,在執行查詢後會看起來像
db.mycollection.update({id: "100", nestedArray:{$elemMatch: {kind: "bar"}}}, {$inc: {'nestedArray.$.times': 1}}, {upsert: true})
該文件是這樣的:
{
id: ...
nestedArray: [
{kind: "foo", times: 10},
{kind: "bar", times: 1}
]
}
當然如果整個文件中沒有找到(不只是嵌套一個),一個是自動創建的。
嗨,我想你有同樣的問題:https://jira.mongodb.org/browse/SERVER-3326 –