Kể từ $in
không được hỗ trợ trong hoạt động tổng hợp cho mảng, giải pháp thay thế sẽ là bạn sử dụng $setIsSubset
. Để biết thêm thông tin về điều này, bạn có thể tham khảo liên kết này. Truy vấn tổng hợp bây giờ sẽ giống như
db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Truy vấn này sẽ chỉ trả về các phần tử có [x]
dưới dạng một tập hợp con của mảng trong user.accounts
.