• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

单一目的聚集操作

mysql 搞代码 4年前 (2022-01-09) 15次浏览 已收录 0个评论

聚集指的是,基于一个输入和特定程序来计算结果的数据操纵操作的广泛类别。 MongoDB提供了大量在结果集上执行特定聚集操作的聚集操作方法。 尽量在使用范围上有限制,特别是和聚集管道、map-reduce相比较,但这些操作,为常规的数据处理提供了直接的语义。 C

聚集指的是,基于一个输入和特定程序来计算结果的数据操纵操作的广泛类别。

MongoDB提供了大量在结果集上执行特定聚集操作的聚集操作方法。

尽量在使用范围上有限制,特别是和聚集管道、map-reduce相比较,但这些操作,为常规的数据处理提供了直接的语义。

Count

MongoDB可以返回符合一个query的文档数量。count命令,以及count()和cursor.count()方法提供访问mongo shell里面的计数(counts)。

例子:

假设一个名叫records的集合,仅有下面这些文档:

{ a: 1, b: 0 }{ a: 1, b: 1 }{ a: 1, b: 4 }{ a: 2, b: 2 }

下面的操作会计算在集合里面的所有文档的数目,并返回4

db.records.count()

下面的操作只会对a字段值为1计数,返回结果为3

db.records.count( { a: 1 } )

译者注:

很多朋友可能对上面的shell脚本转化成实际编程语言感动困难。实际上,mongoDB提供的API都很友好,和上面的shell基本有对应关系。以Java为例,

// db是取得的数据库DBCollection collection = db.getCollection("record");BasicDBObject query = new BasicDBObjec<p>本文来源gao!%daima.com搞$代*!码$网9</p>t();query.put("a",1);int result = collection.count(query);

再举个例子,笔者最近做的一个项目,有这个一个需求:统计当天新注册用户量。

query.put("registertime",new BasicDBObject("$gt",HeartDateUtil.getStartDateOfToday()));collection.count(query);

其中HeartDateUtil.getStartDateOfToDay是一个工具方法,用来返回今天开始的Date.

Distinct

Distinct操作匹配查询的文档,返回在匹配文档里该字段的所有唯一值。在Mongo shell里面提供了distinct命令和db.collection.distinct()方法。考虑下面的操作:


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:单一目的聚集操作

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址