【发布时间】:2019-06-16 18:17:25
【问题描述】:
我在 mongo 中有一个包含多个字段的集合,我需要找出所有文档中每个字段的空值数量?我还需要使用聚合管道来做到这一点。 例如,如果我的收藏是这样的:
{
_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 上运行查询并创建仪表板,它只支持这样的结果)
【问题讨论】:
标签: mongodb aggregation-framework