MongoDB - 从数组中拉出多个对象

Pat*_* Co 6 arrays mongodb

嗨,我正在尝试从一个看起来像这样的数组中删除多个对象.

{
"_id" : ObjectId("5a7da1bda21d5f3e8cf005b3"),
"owner" : "1",
"group_name" : "PAASCU Board",
"group_members" : [ 
    {
        "faculty_name" : "Cheska Dela Rosa",
        "faculty_number" : 2,
        "_id" : ObjectId("5a7da1bda21d5f3e8cf005b5")
    }, 
    {
        "faculty_name" : "Earl Sempio",
        "faculty_number" : 7323,
        "_id" : ObjectId("5a7da1bda21d5f3e8cf005b4")
    }, 
    {
        "faculty_number" : 203,
        "faculty_name" : "Sample",
        "_id" : ObjectId("5a7dbf7952bd150a94d83958")
    }, 
    {
        "faculty_number" : 8025,
        "faculty_name" : "Sample Postman",
        "_id" : ObjectId("5a7dc64a1cf5dd3d50167d53")
    }
],
"__v" : 0 }
Run Code Online (Sandbox Code Playgroud)

当我使用$ pull使用此代码删除单个对象时,它可以正常工作.

db.getCollection('groups').update({_id: ObjectId("5a7da1bda21d5f3e8cf005b3")}, {$pull: {"group_members": {"faculty_number":8025}}})
Run Code Online (Sandbox Code Playgroud)

但是如果我想删除具有不同faculty_number的多个对象呢?我尝试使用$ each方法,就像我在数组中添加多个对象一样,但它不能正常工作.

use*_*814 11

使用$in运算符传递教师值列表以从嵌入数组中删除文档.更多here

尝试

db.groups.update(
  {"_id": ObjectId("5a7da1bda21d5f3e8cf005b3")},
  {"$pull":{"group_members":{"faculty_number":{$in:[8025,7323]}}}}
)
Run Code Online (Sandbox Code Playgroud)