我正在嘗試更新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 ... } ]}好像查詢應該是這樣的://pseudocodedb.my_collection.update( {_id: ObjectId(document_id), my_array.1 : 1 }, {my_array.$.content: NEW content B })但這是行不通的。我花了太多時間搜索mongodb文檔,并嘗試對此語法進行不同的修改(例如,使用$slice等等)。我找不到任何有關如何在MongoDB中完成這種更新的明確解釋。
3 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
不出所料,查詢就很容易。這是python中的語法:
db["my_collection"].update(
{ "_id": ObjectId(document_id) },
{ "$set": { 'documents.'+str(doc_index)+'.content' : new_content_B}}
)
- 3 回答
- 0 關注
- 1371 瀏覽
添加回答
舉報
0/150
提交
取消