我試圖更新MongoDB文檔中的數組中包含的單個子元素。我想使用它的數組索引來引用該字段(數組中的元素沒有任何字段,我可以保證它們是唯一標識符)。似乎這應該很容易做到,但我無法弄清楚語法。MongoDB:如何更新數組中的單個子元素,由數組中的索引引用?
這就是我想在僞json中做的事情。
前:
{
_id : ...,
other_stuff ... ,
my_array : [
{ ... old content A ... },
{ ... old content B ... },
{ ... old content C ... }
]
}
後:
{
_id : ...,
other_stuff ... ,
my_array : [
{ ... old content A ... },
{ ... NEW content B ... },
{ ... old content C ... }
]
}
好像查詢應該是這樣的:
//pseudocode
db.my_collection.update(
{_id: ObjectId(document_id), my_array.1 : 1 },
{my_array.$.content: NEW content B }
)
但是,這是行不通的。我花了太長時間搜索mongodb文檔,並試圖對此語法進行不同的修改(例如,使用$slice
等)。我找不到任何關於如何在MongoDB中完成這種更新的明確說明。
否.. ..它是真的不明。 – Moumit 2015-04-30 19:49:15