【发布时间】:2011-09-15 04:49:10
【问题描述】:
我的文档中有以下结构:
{
_id : ObjectId("43jh4j343j4j"),
array : [
{
_arrayId : ObjectId("dsd87dsa9d87s9d7"),
someField : "something",
someField2 : "something2"
},
{
_arrayId : ObjectId("sds9a0d9da0d9sa0"),
someField : "somethingElse",
someField2 : "somethingElse2"
}
]
}
我想更新 someField 和 someField2 但仅针对数组中的一项,即与 _arrayId 匹配的一项(例如 @ 987654323@; 仅适用于本文档(例如 _id : ObjectId("43jh4j343j4j") ),没有其他。
arrayIds 不是文档独有的,这就是为什么我需要它用于特定文档的原因。如果我想为数组中存在的每个文档更新该值,我可以使用$ positional operator,但这不是我想要的。
我正在尝试在java 中完成此操作,但命令行解决方案也可以。
【问题讨论】:
标签: java java mongodb mongodb-java