"Array kedua" Anda memiliki struktur elemen bersarang, jadi Anda harus mengidentifikasi elemen luar yang ingin Anda cocokkan dalam kueri Anda saat menggunakan $
posisi operator dalam pembaruan. Anda pada dasarnya membutuhkan sesuatu seperti ini:
bulk.find({
"_id": new mongo.ObjectID(req.session._id),
"secondArray._id": "7423"
}).update({
"$pull": {
"firstArray": { "_id": "153" },
"secondArray.$.firstArrayIds": 153
}
});
Jadi sebenarnya ada "dua" nilai id yang perlu Anda sampaikan dengan permintaan Anda selain id dokumen umum. Meskipun ini bersarang tidak apa-apa karena Anda hanya mencocokkan pada tingkat "luar" dan hanya pada satu larik. Jika Anda mencoba mencocokkan posisi pada lebih dari satu larik, maka ini tidak mungkin dilakukan dengan operator posisi.