我有我的文档中的结构如下:如何在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