小编Dec*_*ard的帖子

使用mongodb聚合的多个字段的不同计数

我正在尝试通过一个MongoDB聚合查询计算多个字段的不同值.

所以这是我的数据:

{
    "car_type": "suv",
    "color": "red",
    "num_doors": 4
},
{
    "car_type": "hatchback",
    "color": "blue",
    "num_doors": 4
},
{
    "car_type": "wagon",
    "color": "red",
    "num_doors": 4
}
Run Code Online (Sandbox Code Playgroud)

我想要每个字段的明确计数:

distinct_count_car_type=3
distinct_count_color=2
distinct_count_num_doors=1
Run Code Online (Sandbox Code Playgroud)

我能够对多个字段进行分组,然后进行一次明显的计数,但它只能让我对第一个字段进行计数.不是所有的人.而且这是一大堆数据.

distinct mongodb mongodb-query aggregation-framework

6
推荐指数
2
解决办法
1112
查看次数

Mongodb聚合管道大小和速度问题

我正在尝试使用mongodb聚合查询来连接($ lookup)两个集合,然后对连接数组中的所有唯一值进行不同计数.*注意:我不一定知道metaDataMap数组中的字段(键).而且我不想计算或包含地图中可能存在或可能不存在的字段.这就是聚合查询看起来像这样的原因.

所以我的两个系列看起来像这样:事件 -

{
"_id" : "1",
"name" : "event1",
"objectsIds" : [ "1", "2", "3" ],
}
Run Code Online (Sandbox Code Playgroud)

对象

{
"_id" : "1",
"name" : "object1",
"metaDataMap" : { 
                     "SOURCE" : ["ABC", "DEF"],
                     "DESTINATION" : ["XYZ", "PDQ"],
                     "TYPE" : []
                }
},
{
"_id" : "2",
"name" : "object2",
"metaDataMap" : { 
                     "SOURCE" : ["RST", "LNE"],
                     "TYPE" : ["text"]
                }
},
{
"_id" : "3",
"name" : "object3",
"metaDataMap" : { 
                     "SOURCE" : ["NOP"],
                     "DESTINATION" : ["PHI", "NYC"],
                     "TYPE" …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

5
推荐指数
1
解决办法
198
查看次数