Добавление в результирующую выборку количества несовпадений по полю
Всем привет! У меня есть коллекция сущностей вида:
"_id" : ObjectId("123b1c231c4a460005dc658r"),
"unitId" : "58bd51815744bf06e001b57b",
"name" : "Главная организация",
"shortName" : "Главная организация",
"controlOperator" : "admin"
Мне нужно вывести список документов, в котором будет отображено количество совпадений значений из массива ["admin", "noAdmin", "ivanov", "petrov"] по полю "controlOperator", что-то вида:
admin : 10
noAdmin : 15
petrov : 0
ivanov : 14
Пробовал такой запрос, но выводит только совпадения, а количество несовпадений тоже нужно
db
.getCollection('appeals')
.aggregate([
{$match: {$or: [{unitId: "58bd51815744bf06e001b57b", controlOperator: {$in: ["admin", "noAdmin", "ivanov", "petrov"]}}, {unitId: "58bd51815744bf06e001b57b", controlOperator: {$nin: ["admin", "noAdmin", "ivanov", "petrov"]}}]}},
{$project: {_id: 0}},
{$group: {_id: "$controlOperator", appeals: {$push: "$controlOperator"},
count: {$sum: 1}}}])