You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计MongoDB中status为false的重复邮件数量?

MongoDB统计status为false的重复邮件数量

你可以通过在现有聚合阶段后添加$group(和可选的$sort)阶段来实现需求,同时建议合并多个$match阶段以提升查询效率:

完整聚合查询

[
  {
    '$match': {
      'status': false,
      'category': 'students',
      'affiliation': 'njmpti_students'
    }
  },
  {
    '$group': {
      '_id': '$email',
      'count': { '$sum': 1 }
    }
  },
  // 可选:按计数降序排序,便于查看结果
  {
    '$sort': { 'count': -1 }
  }
]

阶段说明

  • $match:合并原有的三个过滤条件,一次性筛选出符合要求的文档,减少后续处理的数据量,提升查询性能。
  • $group:以email为分组依据,通过$sum:1统计每个邮箱对应的文档数量,也就是该邮箱的出现次数。
  • $sort(可选):按统计出的count字段降序排列,让重复次数多的邮箱优先展示。

示例结果

针对你提供的测试数据,运行上述查询后会得到以下结果:

[
  { "_id": "sample_1@gmail.com", "count": 2 },
  { "_id": "sample_3@gmail.com", "count": 1 }
]

完全匹配你预期的统计结果:sample_1@gmail.com出现2次,sample_3@gmail.com出现1次,sample_2@gmail.com因status=true被过滤。

内容的提问来源于stack exchange,提问作者Stykgwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:10:00