Вашият „secondArray“ има структура на вложени елементи, така че трябва да идентифицирате външния елемент, който искате да съпоставите във вашата заявка, когато използвате позиционен $
оператор в актуализацията. По същество имате нужда от нещо подобно:
bulk.find({
"_id": new mongo.ObjectID(req.session._id),
"secondArray._id": "7423"
}).update({
"$pull": {
"firstArray": { "_id": "153" },
"secondArray.$.firstArrayIds": 153
}
});
Така че всъщност има "две" стойности на id, които трябва да предадете с вашата заявка в допълнение към общия идентификатор на документа. Въпреки че това е вложено, това е добре, тъй като съвпадате само на "външно" ниво и само на един масив. Ако сте опитали да съпоставите позицията на повече от един масив, това не е възможно с позиционния оператор.