Uw "secondArray" heeft een geneste elementstructuur, dus u moet het buitenste element identificeren dat u wilt matchen in uw zoekopdracht wanneer u een positionele $
gebruikt operator in de update. Je hebt eigenlijk zoiets als dit nodig:
bulk.find({
"_id": new mongo.ObjectID(req.session._id),
"secondArray._id": "7423"
}).update({
"$pull": {
"firstArray": { "_id": "153" },
"secondArray.$.firstArrayIds": 153
}
});
Er zijn dus in feite "twee" id-waarden die u naast de algemene document-id bij uw verzoek moet opgeven. Ook al is dit genest, het is oké, omdat je alleen op het "buitenste" niveau en slechts op één array overeenkomt. Als u heeft geprobeerd de positie op meer dan één array te matchen, is dit niet mogelijk met de positionele operator.