जैसा कि आपने उल्लेख किया है, आपको अवांछित, फ़िल्टर किए गए दस्तावेज़ों को उनके मूल आकार में फिर से समूहित करने की आवश्यकता है। आप इसे $group
. के साथ कर सकते हैं :
Collection.aggregate([
{ $match:
{ _id: ObjectID(collection_id) }
},
{ $unwind: "$images" },
{ $match:
{ "images.deleted": null }
},
// Regroup the docs by _id to reassemble the images array
{$group: {
_id: '$_id',
name: {$first: '$name'},
images: {$push: '$images'}
}}
], function (err, result) {
if (err) {
console.log(err);
return;
}
console.log(result);
});