gpt4 book ai didi

javascript - 如何更新子文档并删除子文档中数组的单个对象?

转载 作者:行者123 更新时间:2023-12-03 04:19:01 26 4
gpt4 key购买 nike

这是我拥有的对象:

{
"_id": ObjectId("590985b1859aefea4a39982f"),
"comment": [{
"created_at": 1493880257678.0,
"comment": "12345",
"user_id": ObjectId("58edd98d40627c492c8689c5"),
"_id": ObjectId("590acdc1141b16c6521b9140"),
"modified": 1493880257678.0,
"assigned_to": null
}, {
"created_at": 1493880257678.0,
"comment": "12345",
"user_id": ObjectId("5906c50c1be98711121edf2b"),
"_id": ObjectId("590acdc1141b16c6521b9140"),
"modified": 1493880257678.0,
"assigned_to": null
}, {
"created_at": 1493880257678.0,
"comment": "12345",
"user_id": ObjectId("58edd98d40627c492c8689c5"),
"_id": ObjectId("590acdc1141b16c6521b9140"),
"modified": 1493880257678.0,
"assigned_to": null
}]
}

我想删除评论的子文档,其中user_id(58edd98d40627c492c8689c5)

最佳答案

您可以将 findOneAndUpdate 与 $pull 一起使用.

您将像这样构造查询。

findOneAndUpdate(
{_id: <id of the document>},
{$pull: {comment: {user_id: <user_id>}}},
{multi:true}
)

不确定您使用的是什么客户端或驱动程序,但这是我在 robomongo 上进行的示例测试,集合名称是“documents”

db.getCollection('documents').findOneAndUpdate(
{_id: new ObjectId("590985b1859aefea4a39982f")},
{$pull:
{comment:{user_id : new ObjectId("58edd98d40627c492c8689c5")}}
},
multi:true})

关于javascript - 如何更新子文档并删除子文档中数组的单个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44025393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com