У меня есть коллекция в Монго с несколькими полями, мне нужно узнать количество пустых значений для каждого поля во всех документах? Также мне нужно сделать это с помощью агрегационных конвейеров.
Например, если моя коллекция будет такой:
{
_id: 1,
field1: 'value1',
field2: 'value2',
field3: null,
field4: 'value3'
},
_id: 2,
field1: null,
field2: 'value4',
field3: null,
field4: 'value5'
{
_id: 3,
field1: 'value7',
field2: 'value8',
field3: 'value9',
field4: 'value10'
},
{
_id: 4,
field1: 'value11',
field2: 'value12',
field3: null,
field4: 'value13'
}
Я хочу получить такой результат:
{ fieldName: 'field1', notNullCount: 3}, { fieldName: 'field2', notNullCount: 4}, { fieldName: 'field3', notNullCount: 1}, { fieldName: 'field4', notNullCount: 4}
Я пытался использовать проекцию и использовать условие для подсчета не нулевых значений, но в результате я получил один документ с fieldName в качестве ключа и подсчетом в качестве значения, но Мне нужно получить результат с одним документ для каждого поля, как мой пример выше.
(В случае, если вы хотите знать, зачем мне нужен такой результат, потому что мне нужно запустить запрос на Metabase и создать панели мониторинга, и он поддерживает только такие результаты)