gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:35:49 25 4
gpt4 key购买 nike

我正在尝试通过一个 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
}

我想要每个字段的不同计数:

distinct_count_car_type=3
distinct_count_color=2
distinct_count_num_doors=1

我能够对多个字段进行分组,然后进行不同的计数,但它只能让我对第一个字段进行计数。不是所有的人。而且数据量很大。

最佳答案

运行以下聚合管道应该会给你想要的结果:

db.collection.aggregate([
{
"$group": {
"_id": null,
"distinct_car_types": { "$addToSet": "$car_type" },
"distinct_colors": { "$addToSet": "$color" },
"distinct_num_doors": { "$addToSet": "$num_doors" }
}
},
{
"$project": {
"distinct_count_car_type": { "$size": "$distinct_car_types" },
"distinct_count_color": { "$size": "$distinct_colors" },
"distinct_count_num_doors": { "$size": "$distinct_num_doors" }
}
}
])

关于mongodb - 使用 mongodb 聚合的多个字段的不同计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46471856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com