单一目的聚集操作

本文介绍MongoDB中的聚集操作,包括Count和Distinct等方法的应用。Count用于统计满足特定条件的文档数量,而Distinct则用于获取指定字段的所有不同值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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()方法。考虑以下的操作:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值