Sejak $in
tidak didukung dalam operasi agregat untuk array, alternatifnya adalah Anda menggunakan $setIsSubset
. Untuk informasi lebih lanjut tentang ini, Anda dapat merujuk tautan ini. Kueri agregat sekarang akan terlihat seperti
db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Kueri ini hanya akan mengembalikan elemen yang memiliki [x]
sebagai subset dari larik di user.accounts
.