Siden $in
er ikke understøttet i aggregeret drift for array, alternativet ville være, at du bruger $setIsSubset
. For mere information om dette kan du henvise til dette link. Den samlede forespørgsel ville nu se ud som
db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Denne forespørgsel returnerer kun elementer, der har [x]
som et undersæt af arrayet i user.accounts
.