Desde
$in
não é suportado na operação agregada para array, a alternativa seria usar $setIsSubset
. Para mais informações sobre isso, você pode consultar este link. A consulta agregada agora se pareceria com db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Esta consulta retornará apenas elementos que tenham
[x]
como um subconjunto da matriz em user.accounts
.