单一目的聚集操作
程序员文章站
2022-04-28 08:42:14
...
聚集指的是,基于一个输入和特定程序来计算结果的数据操纵操作的广泛类别。 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 BasicDBObject(); 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()方法。考虑下面的操作:
推荐阅读
-
node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)
-
论零成本一个人操作互联网创业项目的可行性
-
在Tomcat中部署Web项目的操作方法(必看篇)
-
Hibernate单表操作——单一主键
-
5. 索引与算法—B+树的操作、辅助索引与聚集索引、Cardinality、联合索引、覆盖索引、MRR/ICP、哈希算法、全文索引
-
IntelliJ IDEA 关闭多余项目的操作方法
-
Goland使用Go Modules创建/管理项目的操作
-
如何使用向日葵远程控制软件实现远程控制、管理、操作等一系列项目的图文教程
-
删除pycharm鼠标右键快捷键打开项目的操作
-
SQL Server Insert 操作效率(堆表 VS 聚集索引表)