Mongoose 更新内部字段
Posted
技术标签:
【中文标题】Mongoose 更新内部字段【英文标题】:Mongoose update inner field 【发布时间】:2021-07-09 06:14:04 【问题描述】:我的 mongoDB 中有这类文档:
id: my_id
inner_foo : [
inner_id : id_A
inner_field : field_A
,
inner_id : id_B
inner_field : field_B
]
收到请求时,我得到了两个 id,id
一个(这里是 my_id
)和一个 inner_id
一个(这里例如 id_A
)。
我如何使用 JS 和 mongoose 更新内部字段?例如数组之一的inner_field
字段包含使用其inner_id
的对象
我认为我不能使用findByIdAndUpdate
,因为我无法使用该方法直接引用正确的inner_foo
条目,那么我应该怎么做呢?
非常感谢! 凯夫。
【问题讨论】:
【参考方案1】:演示 - https://mongoplayground.net/p/2pW4UrcVFYr
阅读 - https://docs.mongodb.com/manual/reference/operator/update/positional/
db.collection.update(
id: "my_id", "inner_foo.inner_id": "id_A" , // find the matching document
$set: "inner_foo.$.inner_field": "id_A_Update" // set the value on the matched array index
)
【讨论】:
@KevinHeirich 很高兴它有帮助:)以上是关于Mongoose 更新内部字段的主要内容,如果未能解决你的问题,请参考以下文章