mongodb查询条件为数组 mongodb按条件统计

导读:MongoDB是一种非关系型数据库,它的查询语言非常灵活,可以根据不同的条件进行统计 。本文将介绍如何使用MongoDB按条件统计数据,并提供一些实用的示例 。
一、基本概念
在MongoDB中,我们可以使用聚合管道来进行数据统计 。聚合管道是一个操作序列,其中每个操作都会对输入数据进行处理,并将结果传递给下一个操作 。聚合管道通常由以下几个阶段组成:
1. $match:筛选符合条件的文档
2. $group:将文档分组并执行聚合操作
3. $project:指定输出的字段
4. $sort:排序输出结果
5. $limit:限制输出结果的数量
二、实例演示
1. 统计每个城市的用户数量
db.users.aggregate([
{$group: {_id: "$city", count: {$sum: 1}}}
])
2. 统计每个城市的平均年龄和最大年龄
{$group: {_id: "$city", avgAge: {$avg: "$age"}, maxAge: {$max: "$age"}}}
3. 统计每个城市的男女比例
{$group: {_id: {city: "$city", gender: "$gender"}, count: {$sum: 1}}},
{$group: {_id: "$_id.city", male: {$sum: {$cond: [{$eq: ["$_id.gender", "male"]}, "$count", 0]}}},
female: {$sum: {$cond: [{$eq: ["$_id.gender", "female"]}, "$count", 0]}}}}
三、总结
【mongodb查询条件为数组 mongodb按条件统计】MongoDB的聚合管道非常灵活,可以根据不同的条件进行数据统计 。在实际应用中,我们可以根据具体需求来选择不同的操作,以得到所需的结果 。

    推荐阅读