加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB的三个基本聚合函数是什么,有什么用

发布时间:2023-09-20 15:59:45 所属栏目:系统 来源:
导读:  很多朋友都对“MongoDB的三个基本聚合函数是什么,有何用”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!
  很多朋友都对“MongoDB的三个基本聚合函数是什么,有何用”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!
 
  MongoDB除了基本的查询功能之外,还提供了强大的聚合功能。Mongodb中自带的基本聚合函数有三种:count、distinct和group。下面我们分别来讲述一下这三个基本聚合函数。
 
  (1)count
 
  作用:简单统计集合中符合某种条件的文档数量。
 
  使用方式:db.collection.count( )或者db.collection.find( ).count()
 
  参数说明:其中 是用于查询的目标条件。如果出了想限定查出来的最大文档数,或者想统计后跳过指定条数的文档,则还需要借助于limit,skip。
 
  举例:
 
  代码如下:
 
  db.collection.find( ).limit();
 
  db.collection.find( ).skip();
 
  (2)distinct
 
  作用:用于对集合中的文档针进行去重处理
 
  使用方式:db,collection.distinct(field,query)
 
  参数说明:field是去重字段,可以是单个的字段名,也可以是嵌套的字段名;query是查询条件,可以为空;
 
  举例:
 
  db.collection.distinct("user",{“age":{$gt:28}});//用于查询年龄age大于28岁的不同用户名
 
  除了上面的用法外,还可以使用下面的另外一种方法:
 
  db.runCommand({"distinct":"collectionname","key":"distinctfied","query": })
 
  collectionname:去重统计的集合名,distinctfield:去重字段,, 是可选的限制条件;
 
  这两种方式的区别:第一种方法是对第二种方法的封装,第一种只返回去重统计后的字段值集合,但第二种方式既返回字段值集合也返回统计时的细节信息。
 
  (3)group
 
  作用:用于提供比count、distinct更丰富的统计需求,可以使用js函数控制统计逻辑
 
  使用方式:db.collection.group(key,reduce,initial[,keyf][,cond][,finalize])
 
  备注说明:在2.2版本之前,group操作最多只能返回10000条分组记录,但是从2.2版本之后到2.4版本,mongodb做了优化,能够支持返回20000条分组记录返回,如果分组记录的条数大于20000条,那么可能你就需要其他方式进行统计了,比如聚合管道或者MapReduce;
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章