我有資料,需要按兩個欄位分組,并在回應中顯示唯一欄位以及該欄位上有多少個欄位。樣本資料:
[
{
"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"); 但是在 sum 方法中沒有得到編譯錯誤 1
uj5u.com熱心網友回復:
$group- 按categoryCode和分組categoryName。并cat_count為$sum與組匹配時添加聚合欄位。$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"
}
}
])
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/326168.html
