I have a collection:
//the json.
{
"ItemsToDelete" : [
{
"placeId" : "ChIJIQBpAG2ahYAR_6128GcTUEo",
"users" : [
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15")
]
},
{
"placeId" : "ChIJIQBpAG2ahYAR_6128GcTUEo",
"users" : [
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15")
]
},
{
"placeId" : "ChIJIQBpAG2ahYAR_6128GcTUEo",
"users" : [
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15")
]
}
]
}
{
"ItemsToRemove" : [
{
"ChIJIQBpAG2ahYAR_6128GcTUEo" : [
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15")
]
},
{
"ChIJIQBpAG2ahYAR_6128GcTUEo" : [
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15")
]
},
{
"ChIJIQBpAG2ahYAR_6128GcTUEo" : [
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15"),
ObjectId("547e4650f3fb0a022110af15")
]
}
]
}
I then run this mongo shell query to pull an item off the array and delete:
db.users.update({"_id":ObjectId("54e664c4e7c3b4d3b5413e39")},{$pull:{ItemsToDelete : {placeId:"ChIJIQBpAG2ahYAR_6128GcTUE"}}},{ multi: true })
The array remains unmodified. Any thoughts why this is failing to $pull?
I have tried 'ItemsToDelete.placeId' but that errors out with: error I receive when doing “ItemsToDelete.placeId” => ‘cannot use the part (ItemsToDelete of ItemsToDelete.placeId) to traverse the element’