多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 聚合查询 ``` // 语法 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 最大值