簡體   English   中英

MongoDB - 刪除嵌套數組中的項目

[英]MongoDB - Delete item in nested array

我看到了很多關於此的類似問題,但無法使其在我的收藏中發揮作用。

如何刪除特定評論(您可以假設我知道 userId)。

例如,我想刪除帶有commentId=3的評論,並且我知道它在userId=1下。

[
{
    userId: "1",
    posts: [
        {
            postId: "2",
            comments: [
                {
                    commentId: "3",
                    ...
                },
                ...
            ]
        },
        ...
    ]
},
...
]

謝謝!

這適用於 Mongodb 4.2,如果它與“commentId”3 匹配,將從“comments”中刪除第一個數組條目

db.posts.update(
    {"userId" : "1"}, 
    {$pull : {"posts.$[].comments" : {"commentId":"3"}}}
)

如果您想刪除所有數組條目,請使用:

db.posts.update(
    {"userId" : "1"}, 
    {$pull : {"posts.$[].comments" : {"commentId":"3"}}},
    {"multi": true}
)

您是否嘗試過使用deleteOne() function? 嘗試查看 MongoDb 文檔。 MongoDb 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM