Như bạn đã ám chỉ, bạn cần phải nhóm lại các tài liệu chưa được liên kết, đã lọc trở lại hình dạng ban đầu của chúng. Bạn có thể thực hiện việc này với $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);
});