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

MongoDB统计文档数组字段中大于指定值的元素个数

MongoDB 实现方案

通过聚合管道即可完成单文档内数组符合条件元素的计数,无需额外关联操作,核心逻辑是先过滤数组中大于10的元素,再统计过滤后数组的长度。

完整查询语句

将代码中your_collection替换为你实际的集合名即可执行:

db.your_collection.aggregate([
  {
    $project: {
      _id: 0,
      CustomerId: 1,
      Count: {
        $size: {
          $filter: {
            input: "$dwell",
            cond: { $gt: ["$$this", 10] }
          }
        }
      }
    }
  }
])

语句说明

  • $project:指定最终返回的字段,设置_id:0是为了不返回默认的_id字段,如果需要保留_id可以删掉该行配置
  • $filter:遍历输入的dwell数组,cond里的判断规则为保留元素值(即$$this)大于10的项,返回过滤后的新数组
  • $size:计算过滤后数组的长度,结果赋值给Count字段

结果验证

针对给出的示例数据,执行上述语句后返回的结果完全匹配期望:

{"CustomerId": 13038, "Count": 1}
{"CustomerId": 12036, "Count": 2}

注:该语法兼容MongoDB 3.2及以上所有正式版本,是目前这类数组计数场景性能最优的实现方式。

内容的提问来源于stack exchange,提问作者Mehmet Serkan Ekinci

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:57:17