0

This is how my database Structure looks like:

{
equipmentTypes: [
       SmallEquipment : [
           {
             equipmentId: "123a"
             equipmentName : "smal1"
           },
           {
             equipmentId: "123b"
             equipmentName : "smal2"
           }
       ],
       LargeEquipment : [
           {
             equipmentId: "456a"
             equipmentName : "large1"
           },
           {
             equipmentId: "456b"
             equipmentName : "large2"
           }
       ]
]
}

I have a code

     if (deletedEquipmentId.size() > 0) {
            for (int index = 0; index < deletedAccessories.size(); index += 1) {
                update.pull("equipmentTypes.$[equipment].smallEquipment", Query.query(Criteria.where("equipmentId").is(deletedEquipmentId.get(index))));
            }
        }

With this code I have an issue that it only deletes the last equipmentId in loop. I need to write a code that does pull for multiple equipments in smallEquipment.

Or how can I write this mongo script in Java-

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

MongoDB - Pull multiple objects from an array

Jens Schauder
  • 70,783
  • 26
  • 162
  • 317

0 Answers0