假設我有一個包含兩個類別的資料,例如 - 足球或籃球,其中足球值為 1,籃球值為 2,我們有以下資料:
_id game
'1' 1
'2' 1
'3' 2
'4' 1
'5' 2
(資料包含足球3次和籃球2次)。我想執行一個回傳以下物件的聚合:
{
footballCount: 3,
basketballCount: 2
}
我想不出這樣的聚合會導致這樣的結構。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
您可以針對不同的情況進行條件求和。
db.collection.aggregate([
{
$group: {
_id: null,
footballCount: {
$sum: {
"$cond": {
"if": {
$eq: [
"$game",
1
]
},
"then": 1,
"else": 0
}
}
},
basketballCount: {
$sum: {
"$cond": {
"if": {
$eq: [
"$game",
2
]
},
"then": 1,
"else": 0
}
}
}
}
}
])
這是Mongo 游樂場供您參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/385516.html
標籤:节点.js MongoDB mongodb-查询 聚合框架 总计的
下一篇:將ES升級到5.6.16版本時會拋出錯誤插件[repository-s3]與版本[5.6.16]不兼容;專為[5.2.0]版本設計
