You need to enable JavaScript to run this app. 如何在MongoDB中查询director字段值相同的所有文档并返回完整明细
优惠活动
大模型
产品
解决方案
定价
更多

如何在MongoDB中查询director字段值相同的所有文档并返回完整明细

MongoDB多作品导演的完整影片明细查询方案

你当前的聚合语句仅统计了每个导演的作品数量,没有保留原始影片文档信息,修改聚合管道即可得到符合要求的结果,完整查询语句如下:

db.movies.aggregate([
  {
    $group: {
      _id: "$director",
      movie_list: { $push: "$$ROOT" },
      work_count: { $sum: 1 }
    }
  },
  { $match: { work_count: { $gt: 1 } } },
  { $unwind: "$movie_list" },
  { $replaceRoot: { newRoot: "$movie_list" } }
])

各阶段逻辑说明:

  • $group阶段:按导演字段分组,用MongoDB内置的$$ROOT变量将每条原始影片文档存入movie_list数组,同时统计该导演的作品总数
  • $match阶段:过滤出作品数大于1的导演,排除仅产出1部作品的导演记录
  • $unwind阶段:将每个导演对应的movie_list数组展开为多条独立记录,每条记录对应一部影片
  • $replaceRoot阶段:将movie_list字段存储的原始影片文档设置为输出的根节点,直接返回完整的影片明细

运行上述语句后,输出结果和你给出的预期完全一致,会自动过滤掉导演D2的单条作品,仅保留D1、D3对应的所有影片记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 04:39:00