我有我的文檔中的結構如下:如何在MongoDB中更新特定文檔在數組中的值?
{
_id : ObjectId("43jh4j343j4j"),
array : [
{
_arrayId : ObjectId("dsd87dsa9d87s9d7"),
someField : "something",
someField2 : "something2"
},
{
_arrayId : ObjectId("sds9a0d9da0d9sa0"),
someField : "somethingElse",
someField2 : "somethingElse2"
}
]
}
我想更新someField和someField2但只適用於數組中的項目之一,相匹配的一個_arrayId(如_arrayId : ObjectId("dsd87dsa9d87s9d7")
;只有這個文件(如_id : ObjectId("43jh4j343j4j")
),並沒有其他
的arrayIds是不是唯一的,這就是爲什麼我需要它是特定DOC文檔。 ument。如果我想更新數組中存在的每個文檔的值,我可以使用$ positional operator
,但那不是我想要的。
我正試圖在java中完成這項工作,但命令行解決方案也可以。
偉大的作品!謝謝。所以'coll.update(query,data)'中的查詢就像一個過濾器,用於查找您正在查找的文檔,以及作爲您感興趣的文檔部分的選擇器? – rjgonzo
是的正確..很高興它幫助.. – RameshVel