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

MongoDB按关联引用字段status_id.libelle分组统计文档数量问题

MongoDB关联状态字段分组统计实现方案

前提说明

  • 业务单据表名:business_bills,存储所有业务申请数据,通过status_id字段关联状态字典
  • 状态字典表名:status_dict,存储所有状态枚举及对应名称

聚合查询语句

直接在状态字典表上执行以下聚合操作即可实现需求,无匹配单据的状态会自动返回统计值为0:

db.status_dict.aggregate([
  // 关联业务单据表,匹配对应状态的所有单据
  {
    $lookup: {
      from: "business_bills",
      localField: "_id",
      foreignField: "status_id",
      as: "matched_bills"
    }
  },
  // 格式化输出字段,统计每个状态的单据数量
  {
    $project: {
      _id: 0,
      libelle: 1,
      total: { $size: "$matched_bills" }
    }
  }
])

优化提示

如果业务单据表数据量较大,可给business_bills表的status_id字段添加索引,大幅提升关联查询效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:57:06