🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 聚合查询 ``` // 语法 db.集合名.aggregate([ {管道: {表达式}} ]) //示例 db.user.aggregate([ { $group: { _id: '$sex', // null 表示不分组 sum: {$sum: '$age'} // 1表示统计数量count } }, { $sort: {sum: -1} // 按求和降序 } ]) ``` <br> ## 常用管道 * $group 将集合中的文档分组,用于统计结果 * $match 过滤数据,只输出符合条件的文档 * $sort 聚合后进一步排序 * $skip 聚合后进一步跳过文档数 * $limit 聚合后进一步限制条数 * $project 增加、删除、重命名字段、筛选指定字段 * $lookup 引用其他集合的数据 ``` // $lookup语法 db.order.aggregate([ { $lookup: { from: 'order_item', // 关联的表名 localFieId: 'order_id', // 关联的字段(主表) foreignFieId: 'order_id', // 关联的字段(关联表) as: 'items' // 关联后数据放到这个字段 } } ]) ``` <br> ## 常用表达式 * $sum 求和 $sum:1同count表示统计 * $avg 求平均 * $min 最小值 * $max 最大值