Arrays MongoDB-删除嵌套数组中的项
我看到了很多类似的问题,但在我的收藏中却无法做到 如何删除特定注释(您可以假设我知道用户ID) 例如,我想删除带有Arrays MongoDB-删除嵌套数组中的项,arrays,mongodb,Arrays,Mongodb,我看到了很多类似的问题,但在我的收藏中却无法做到 如何删除特定注释(您可以假设我知道用户ID) 例如,我想删除带有commentId=3的注释,我知道它位于userId=1下 [ { userId: "1", posts: [ { postId: "2", comments: [ { commentId: "3",
commentId=3
的注释,我知道它位于userId=1
下
[
{
userId: "1",
posts: [
{
postId: "2",
comments: [
{
commentId: "3",
...
},
...
]
},
...
]
},
...
]
谢谢 您是否尝试过使用
deleteOne()
函数?试着看看MongoDb文档 这适用于Mongodb 4.2,如果第一个数组条目与“commentId”3匹配,则会从“comments”中删除它
如果要删除所有数组项,请使用:
db.posts.update(
{"userId" : "1"},
{$pull : {"posts.$[].comments" : {"commentId":"3"}}},
{"multi": true}
)
只有一条注释-不推荐使用update,请改用updateOne/updateMany
db.posts.update(
{"userId" : "1"},
{$pull : {"posts.$[].comments" : {"commentId":"3"}}},
{"multi": true}
)