Mongo里現有一批數據,大致結構如下:{"userId":1,"loginTime":ISODate("2017-11-28T10:47:57.525+08:00")}{"userId":2,"loginTime":ISODate("2017-11-28T11:47:57.525+08:00")}{"userId":1,"loginTime":ISODate("2017-11-28T12:47:57.525+08:00")}{"userId":3,"loginTime":ISODate("2017-11-28T13:47:57.525+08:00")}要按userId字段去重后統計總數,示例數據返回結果應該是:3,在SHELL中可以使用db.logins.distinct("userId").length來查詢,但在spring-data-mongo中使用MongoTemplate怎樣實現相同功能,注意不能使用distinct把結果都查出來后取size,實際的數量級可能比較大,如千萬級別。另外聽說Mongo中distinct結果集不能超過16MB(不確定),那么上面SHELL中的用法應該也會有問題。整個需求可以簡單描述為:查詢每日登錄人數(注意不是人次)
Mongo查詢去重后的總數
拉風的咖菲貓
2019-05-24 12:10:49
