Sedan $in stöds inte i aggregerad operation för array, alternativet skulle vara att du använder $setIsSubset . För mer information om detta kan du hänvisa till denna länk. Den sammanlagda frågan skulle nu se ut som
db.test.aggregate([
{
$project: {
'filtered_users': {
$filter: {
input: '$users',
as: 'user',
cond: {
$setIsSubset: [['x'], '$$user.accounts']
}
}
}
}
}])
Denna fråga returnerar endast element som har [x] som en delmängd av arrayen i user.accounts .