需求:對表數據進行分組后,根據某個字段去重,然后在count命令行有 db.collection.distinct("someField")問:用morphia應該怎么寫?或者通過原生的mongodb驅動應該怎么做?如果用聚合的話,怎么才能當查詢的結果為null時統計的數量為0,比如sql中的 isNull(count(1), 0)
2 回答

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
調用com.mongodb.DBCollection#distinct
方法,對應問題中的命令行 db.collection.distinct("someField")
。
這樣會把所有的數據都返回,所以如果只是為了得到count,沒必要用distinct。
可以直接用aggregate。
db.collection.aggregate( [{ $group:{ _id:"$someField", count:{$sum:1} } }] )
- 2 回答
- 0 關注
- 1210 瀏覽
添加回答
舉報
0/150
提交
取消