MongoDB的再次相逢之聚合(二)
来源:互联网 发布:单片机与嵌入式的联系 编辑:程序博客网 时间:2024/04/25 18:13
前言
MongoDB为在聚合上执行基本的聚合任务提供了一些命令。这些命令在聚合框架出现之前就已经存在了,现(在大多数情况下)已经被聚合框架取代。然而,复杂的group操作可能仍然需要使用Javascript,count和distinct操作可以被简化为普通命令,不需要使用聚合框架。
count
count是最简单的聚合工具,用于返回集合中的文档数量:
db.users.count();db.users.insert({"x":1});
也可以给count传递一个查询文档,Mongo会计算查询结果的数量:
db.users.count({"x":1});
对于分页显示来说总数非常必要:“共439个,目前显示0~10个”。但是,增加查询条件会使count变慢。count可以使用索引,但是索引并没有足够的元数据提供count使用,所以不如直接使用查询来得快。
distinct
distinct用来找出给定键的所有不同值。使用时必须指定集合和键。
db.runCommand({"distinct":"people","key":"age"})
假设集合中有这样的文档集合:
{name:"Ada",age:20}{name:"Fred",age:35}{name:"Susan",age:60}{name:"Andy",age:35}
如果对”age”键使用distinct,会得到所有不同的年龄:
db.runCommand({"distinct":"people","key":"age"}){"values":[20,35,60],"ok":1}
group
使用group可以执行更复杂的聚合。先选定分组所依据的键,而后MongoDB就会将集合依据选定键的不同值分成若干组。然后可以对每一个分组内的文档进行聚合,得到一个结果文档。
其实可以理解成SQL中的group by;
—-学如逆水行舟,不进则退—–
0 0
- MongoDB的再次相逢之聚合(二)
- MongoDB的再次相逢之聚合(一)
- MongoDB的再次相逢之聚合(三)
- mongodb进阶二之mongodb聚合
- 二、MongoDB的高级查询(聚合、游标、管道、索引)
- MongoDB 聚合管道(二)(Aggregation Pipeline)
- MongoDB 聚合管道(二)(Aggregation Pipeline)
- mongoDB 学习笔记(二)聚合查询
- MongoDB 聚合管道(二)(Aggregation Pipeline)
- 学习MongoDB 十: MongoDB聚合(Map-Reduce)(二)
- 【MongoDB】MongoDB之聚合框架
- MongoDB 笔记之 聚合
- MongoDB之聚合
- mongodb的高级操作(聚合框架)
- mongodb的高级操作(聚合框架)
- mongodb的高级操作(聚合框架)
- MongoDB的聚合查询
- MongoDB的聚合框架
- SQL语句DISTINCT
- AVX指令集矩阵乘向量算法
- 【上机笔试之八】二分法查找
- 用MySQL创建数据库和数据库表
- (pat-a)1020. Tree Traversals (25)
- MongoDB的再次相逢之聚合(二)
- React Native ref高级用法&&setNativeProps使用
- 对称加解密算法
- ssm java web项目中获取文件路径
- Java核心技术笔记-第14章(2)
- 心情郁闷
- Behavior实现滑动隐藏ToolBar与BottomNavigation
- centos7安装mysql5.7解压缩版
- Spark基本概念