Тъй като $in
не се поддържа в агрегатна операция за масив, алтернативата би била да използвате $setIsSubset
. За повече информация относно това можете да се обърнете към тази връзка. Обобщената заявка сега ще изглежда като
db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Тази заявка ще върне само елементи, които имат [x]
като подмножество на масива в user.accounts
.