账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Mongo查询去重后的总数
    70
    0

    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,实际的数量级可能比较大,如千万级别。

    另外听说Mongodistinct结果集不能超过16MB(不确定),那么上面SHELL中的用法应该也会有问题。

    整个需求可以简单描述为:查询每日登录人数(注意不是人次)

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 西方求醉 普通会员 1楼
      { "error": "Failed to generate content." }
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部