MongoDB 实用数组聚合操作 (2)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 实用数组聚合操作 (2)相关的知识,希望对你有一定的参考价值。

参考技术A 上篇 MongoDB 实用数组聚合操作 (1) 介绍了数组的匹配筛选、字段筛选、分组、求和、最大最小值内容。本篇接续上篇,继续介绍实用的数组聚合操作,使用的测试数据还是上一篇的数据。

数组展开是针对某个字段数据类型为数组的,可以针对数组每个元素都展开成一个单独的文档数据,从而可以进行其他操作。

结果为:

可以在聚合操作中指定按某个字段排序,其中 1 对应升序, -1 对应降序。

使用 $sort 操作符可以指定跳过前面的元素个数。例如,对上面的例子过滤掉前面3个文档,得到的只剩下第4个元素 Amy 。

使用$limit 操作符可以限制返回文档的数量。

也可以和 $skip 组合操作,但是需要注意, $skip 和 $limit 次序不同结果不同。 $skip 在前,会先跳过前面的两个文档,然后再限制,而 $limit 在前会先返回限制数量的文档后再跳过前面的文档。利用这样的组合实际上就可以实现类似 SQL 的分页效果。

本篇介绍了 MongoDB 的数组聚合操作中的数组元素展开 $unwind ,数组排序 $sort ,跳过 $skip 和限制返回数量 $limit 等操作,同时组合 $skip 和 $limit 可以实现分页,下一篇介绍如何在聚合函数中实用条件比较操作符。

以上是关于MongoDB 实用数组聚合操作 (2)的主要内容,如果未能解决你的问题,请参考以下文章

mongodb高级聚合查询

mongoDB应用篇-mongo聚合查询

mongodb Aggregation聚合操作之$facet

Mongo聚合:返回数组值的总平均值

Mongo高级用法

将 SQL 查询转换为 Mongo 聚合