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

MongoDB中关联leads与pdata集合统计符合条件的leadId数量

MongoDB关联leads与pdata集合统计符合条件的leadId数量

可以通过MongoDB聚合管道实现需求,核心用$lookup关联两个集合,配合$match过滤条件,最后用$count统计数量。具体查询语句如下:

db.leads.aggregate([
  // 先过滤leads集合中符合基础条件的文档
  {
    $match: {
      status: "OPENED",
      "crossSell.cc.consent": true,
      "crossSell.cc.shown.0.first": true
    }
  },
  // 关联pdata集合,匹配对应的activeLeadId
  {
    $lookup: {
      from: "pdata",
      localField: "leadId",
      foreignField: "activeLeadId",
      as: "matchedPdata"
    }
  },
  // 过滤存在有效匹配pdata的记录,且pdata中至少有一个details.rating≥5
  {
    $match: {
      matchedPdata: { $ne: [] },
      "matchedPdata.details.rating": { $elemMatch: { $gte: 5 } }
    }
  },
  // 统计符合所有条件的leadId数量
  {
    $count: "qualifiedLeadCount"
  }
])

语句说明:

  • 第一阶段$match:先筛选leads中状态为OPENED、cc.consent为true、shown数组首个元素first为true的文档,减少后续关联的数据量。
  • $lookup:将leads的leadId与pdata的activeLeadId关联,匹配到的pdata文档存入matchedPdata数组。
  • 第二阶段$match:剔除未匹配到pdata的记录,同时确保匹配到的pdata里至少有一条details的rating满足≥5的要求。
  • $count:最终输出符合所有条件的leadId总数,结果字段名为qualifiedLeadCount。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:55:15