Имея схему вроде:
{
"_id": ObjectId("..."),
"views": [
{
"name": "AAA",
"permissions": ['PERM_1','PERM_2']
},
{
"name": "BBB",
"permissions": ['PERM_2']
},
{
"name": "CCC",
"permissions": ['PERM_3']
}]
}
Я хотел бы получить результат с представлениями, которые содержат 'PERM_1' и 'PERM_3', например:
{
"_id": ObjectId("..."),
"views": [
{
"name": "AAA",
"permissions": ['PERM_1','PERM_2']
},
{
"name": "CCC",
"permissions": ['PERM_3']
}]
}
Однако я недействительно удалось получить результат, который я хотел.Вот мой запрос:
Schema.aggregate([
{
$project: {
views: {
$filter: {
input: '$views.permissions',
as: 'perm',
cond: {
????? // return only PERM_1 and PERM_3
}
}
}
}
}])
Спасибо за помощь.