如何在特定字段 MongoDB 中找到不同的文档编号并在 Java 中实施
How to find Distinct No of Document on specific field MongoDB and Implement in Java
我有数据,需要按两个字段分组,并作为响应显示唯一字段以及该字段上的计数。
示例数据:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_id": "A"
},
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_id": "B"
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_id": "C"
}
]
预期输出:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_count": 2
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_count": 1
}
]
以及如何在 Java 中使用聚合对象实现它。
GroupOperation groupOperation = Aggregation.group("categoryCode", "categoryName").sum(1).as("cat_count");
但出现编译错误:
1 is not taken inside sum method
$group
- 按 categoryCode
和 categoryName
分组。并在与组匹配时为 $sum
添加聚合字段 cat_count
。
$project
- 显示所需输出字段的文档。
db.collection.aggregate([
{
$group: {
_id: {
"categoryCode": "$categoryCode",
"categoryName": "$categoryName"
},
"cat_count": {
$sum: 1
}
}
},
{
$project: {
"_id": 0,
"categoryCode": "$_id.categoryCode",
"categoryName": "$_id.categoryName",
"cat_count": "$cat_count"
}
}
])
我有数据,需要按两个字段分组,并作为响应显示唯一字段以及该字段上的计数。
示例数据:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_id": "A"
},
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_id": "B"
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_id": "C"
}
]
预期输出:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_count": 2
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_count": 1
}
]
以及如何在 Java 中使用聚合对象实现它。
GroupOperation groupOperation = Aggregation.group("categoryCode", "categoryName").sum(1).as("cat_count");
但出现编译错误:
1 is not taken inside sum method
$group
- 按categoryCode
和categoryName
分组。并在与组匹配时为$sum
添加聚合字段cat_count
。$project
- 显示所需输出字段的文档。
db.collection.aggregate([
{
$group: {
_id: {
"categoryCode": "$categoryCode",
"categoryName": "$categoryName"
},
"cat_count": {
$sum: 1
}
}
},
{
$project: {
"_id": 0,
"categoryCode": "$_id.categoryCode",
"categoryName": "$_id.categoryName",
"cat_count": "$cat_count"
}
}
])