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 .