如何从嵌入式文档的数组中删除不在我的数组

时间:2016-05-27 17:55:21

标签: arrays mongodb mongodb-query

这是我的文件。

{
    "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_ids列表,我需要删除不在user_ids列表中的user_ids。如果输入list = ["user_7"]

,如何删除“user_50”

2 个答案:

答案 0 :(得分:0)

您需要使用$nin运算符选择文档,updateMany方法(如果要更新多个文档)或updateOne方法更新单个文档。

db.users.updateMany(
    {}, 
    { "$pull": { "members": { "user_id":  { "$nin": [ "user_7" ] } } }} 
)

答案 1 :(得分:0)

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