簡體   English   中英

如何從嵌入式文檔的數組中刪除不在我的數組中的元素

[英]How to remove elements from array of an embedded document which are not in my array

這是我的文件。

{
    "group_name" : "Test Group 6 (Edit)",
    "created_on" : "1464367826787",
    "group_id" : "group_14",
    "members" : [
        {
            "user_id" : "user_7",
            "added_on" : "1464367826787"
        }
    ],
    "is_deleted" : 0
}

我有user_id的列表,我需要刪除不在我擁有的user_id列表中的user_id。 如果輸入list = ["user_7"]如何刪除“ user_50”?

您需要使用$nin運算符來選擇您的文檔,如果要更新多個文檔,則需要使用updateMany方法,或者使用updateOne方法來更新單個文檔。

db.users.updateMany(
    {}, 
    { "$pull": { "members": { "user_id":  { "$nin": [ "user_7" ] } } }} 
)
db.users.update(
   {},
   {$pull:
   {members:{'user_id':{$ne:"user_7"}}}}, {multi:true})

暫無
暫無

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

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