Kod*_*uri 7 mongoose mongodb mongodb-query
我有以下架构。
{
posts: [
{
_id: '5ayuunbdsyuuuyut778'
replies: [{
_id: "67hfudj7e9whduu888",
text: "something"
}]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想更新文字,特别是回复。我正在使用猫鼬。
我已将查询编写如下
Post.findOneAndUpdate(
{'posts.replies._id': _id},
{$set: {'posts.$[post].replies.$[reply].text': "something1"}},
{ arrayFilters: [{'post._id': postId}, { 'reply._id': _id }]}
)
Run Code Online (Sandbox Code Playgroud)
此查询未更新文档。
我错过了什么吗?我是否需要使用 ObjectId 来转换 ids
您需要使用new: true来获取更新的值并将 id 转换为 mongoose objectId 以使其工作
Post.findOneAndUpdate(
{ 'posts.replies._id': _id },
{ $set: { 'posts.$[post].replies.$[reply].text': "something1" } },
{ arrayFilters: [{ 'post._id': postId }, { 'reply._id': _id }], new: true }
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6304 次 |
| 最近记录: |