Od $in
není podporováno v agregované operaci pro pole, alternativou by bylo použít $setIsSubset
. Pro více informací o tomto můžete odkazovat na tento odkaz. Souhrnný dotaz bude nyní vypadat takto
db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Tento dotaz vrátí pouze prvky, které mají [x]
jako podmnožinu pole v user.accounts
.