`
y_zjx
  • 浏览: 173610 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

mongodb distinct 的使用,以及如何计算distinct后的count值

 
阅读更多
db.runCommand({"distinct":"accesslog","key":"deviceId","query":{"time":/^2011-12-15/}}).values.length();

相当于sql:

select count(deviceId) from (select distinct deviceId  from accesslog where time like "2011-12-15%") ;

解释:

查询2011-12-15日,deviceId不同的总数。


"distinct":查询的表或collection;
"key":根据哪个字段排重
"query":查询条件,如果要用类似于sql中的like,则字段名字后的值要用正则匹配,例如/^2011-12-15/ 相当于 like "2011-12-15%"

db.runCommand({"distinct":"accesslog","key":"deviceId"})

结果:

{
        "values" : [
                "357194042155846",
                "9530283B-3FCE-4A07-B939-8E03B5AD17DF",
                "D7D2C00D-A2ED-4E64-B9B7-C2BEB7CE863E",
        ],
        "stats" : {
                "n" : 323,
                "nscanned" : 3223,
                "nscannedObjects" : 3223,
                "timems" : 5
        },
        "ok" : 1
}

db.runCommand({"distinct":"accesslog","key":"deviceId","query":{"time":/^2011-12-15/}}).values.length();

结果:
3
分享到:
评论
1 楼 liushuaikobe 2014-03-12  
db.runCommand({"distinct":"accesslog","key":"deviceId","query":{"time":/^2011-12-15/}}).values.length

length是属性不是函数,后面没有括号

相关推荐

    MongoDB教程之聚合(count、distinct和group)

    主要介绍了MongoDB教程之聚合,MongoDB除了基本的查询功能之外,还提供了强大的聚合功能,这里主要介绍count、distinct和group,需要的朋友可以参考下

    Mongodb聚合函数count、distinct、group如何实现数据聚合操作

    Mongodb中自带的基本聚合函数有三种:count、distinct和group。下面我们分别来讲述一下这三个基本聚合函数及如何实现数据聚合操作,感兴趣的朋友一起学习吧

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    4.3 distinct找出给定键所有不同的值 4.4 group分组 4.4.1 使用完成器 4.4.2 将函数作为键使用 4.5 游标 4.6 存储过程 4.7 本章小结 第5章 Capped集合 5.1 特性 5.2 使用和约束 5.3 应用 ...

    MongoDB权威指南(中文版)高清

    755.5 地理空间索引 765.5.1 复合地理空间索引 785.5.2 地球不是二维平面 78第6章 聚合 796.1 count 796.2 distinct 796.3 group 806.3.1 使用完成器 826.3.2 将函数做为键使用 846.4 MapReduce...

    MongoDB查询指定域语言Rogue.zip

    val query = Venue where (_.venuename eqs "Starbucks")query.count()query.countDistinct(_.mayor)query.fetch()query.fetch(n)query.get() // equivalent to query.fetch(1).headOptionquery.foreach{v: Venue =>...

    电子书:MongoDB权威指南(中文版)

    785.5.2 地球不是二维平面 78第6 章 聚合 796.1 count 796.2 distinct 796.3 group 806.3.1 使用完成器 826.3.2 将函数做为键使用 846.4 MapReduce 846.4.1 例1:找出集合中的所有键 856.4.2 例2...

    MongoDB聚合功能浅析

    这里简单介绍一下count、distinct和group。 1.count:   --在空集合中,count返回的数量为0。 > db.test.count() 0 --测试插入一个文档后count的返回值。 > db.test.insert({"test":1}) > db.test.count() 1...

    《10天掌握MongoDB》2012完整版.pdf[带书签]

    《10天掌握MongoDB》2012翻新完整版,大小 4.6 MB,NewSQL 中文社区系列课程。本版本带有 PDF 书签,方便读者朋友阅览。 目录: 第一天:认识MONGODB 从NOSQL说起 NOSQL数据库特点 NOSQL数据库类型 MONGODB简介 ...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    4.3 distinct找出给定键所有不同的值 4.4 group分组 4.4.1 使用完成器 4.4.2 将函数作为键使用 4.5 游标 4.6 存储过程 4.7 本章小结 第5章 Capped集合 5.1 特性 5.2 使用和约束 5.3 应用 ...

    mongodb聚合_动力节点Java学院整理

    count是最简单,最容易,也是最常用的聚合工具,它的使用跟我们C#里面的count使用简直一模一样。 <2> distinct 这个操作相信大家也是非常熟悉的,指定了谁,谁就不能重复,直接上图。 <3> group 在mongodb里面做...

    monsql:MonSQL - 用于多个关系数据库的轻量级 MongoDB 式包装器

    MonSQL - 用于多个关系数据库的轻量级 MongoDB 式包装器 一个轻量级的包装器,可以使用类似 mongodb 的界面与关系数据库轻松交互。 它的目标是易于使用,即使是完全新手!...img_cnt = image_tb.count(distinct=

Global site tag (gtag.js) - Google Analytics