0
我有MongoDB的$問題設置& $ -operators。我嘗試修改現有陣列MongoDB的Bulk.find.update()不修改數組對象,只是增加新的
我的更新方法看起來大約是這樣的(因爲它是用Clojure寫的/蒙格我無法得到確切的副本):
bulk.find({
_id: 2,
channelStatuses.channel: {$eq: "BAR"}
}).update({
$set: {"channelStatuses.$.status": "error" }
});
我的數據看起來是這樣的:
{
"_id" : "1",
"channelStatuses" : [
{
"channel" : "FOO",
"status" : "done"
}
]
},
{
"_id" : "2",
"channelStatuses" : [
{
"channel" : "BAR",
"status" : "done"
}
]
},
{
"_id" : "3",
"channelStatuses" : [
{
"channel" : "BAZ",
"status" : "error"
}
]
},
{
"_id" : "3",
"channelStatuses" : []
}
所以,我希望它做的是修改文件的channelStatuses對象的狀態與_id = 2
相反,它創建了陳蔭羆內的新對象elStatuses數組,並且文檔如下所示:
{
"_id" : "2",
"channelStatuses" : [
{
"channel" : "BAR",
"status" : "done"
},
{
"channel" : "BAR",
"status" : ""
}
]
},