Vẫn không chắc chắn 100% những gì bạn đang thử nhưng điều này sẽ tạo ra một tài liệu kết quả có độ dài 1, với các giá trị khác biệt cho tất cả các kết quả phù hợp của brand_ids.
Sau đó, kết quả là nó sẽ lặp lại tất cả các thương hiệu và xóa chúng khỏi mảng brand_ids của bạn.
couponmodel.aggregate(
{ $match: { "brand_id": { $in: brand_ids } } },
{ $group: { _id: null, brands: { $addToSet: "$brand_id" } } },
function(err, doc) {
doc.brands.forEach(function(brand) {
var idx = array.indexOf(brand);
if (idx > -1) {
brand_ids.splice(idx, 1);
}
});
}
)