繁体   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