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

MongoDB如何按tags数组内的每个元素分组统计标签出现次数

MongoDB标签出现次数统计方案

你可以使用MongoDB的聚合管道实现该需求,具体语句如下:

db.collection.aggregate([
  // 拆分tags数组,每个元素生成独立文档
  { $unwind: "$tags" },
  // 按标签值分组统计出现次数
  {
    $group: {
      _id: "$tags",
      count: { $sum: 1 }
    }
  },
  // 调整为要求的输出格式
  {
    $replaceRoot: {
      newRoot: {
        $arrayToObject: [[{ k: "$_id", v: "$count" }]]
      }
    }
  }
])

执行后即可得到你需要的结果:

{"a": 2},
{"b": 2},
{"c": 2}

实现逻辑说明

  • $unwind会将原文档的tags数组拆解,每个数组元素对应生成一条独立文档,方便后续分组统计
  • $group阶段按标签值分组,每匹配到相同标签就给计数加1,得到所有标签的总出现次数
  • $replaceRoot阶段将分组结果调整为以标签名为键、统计次数为值的独立对象,匹配要求的输出格式

内容的提问来源于stack exchange,提问作者carlos de la morena

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:06:08