首页/数据/NoSQL 速查/聚合 $graphLookup 图式遍历
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

聚合 $graphLookup 图式遍历

$graphLookup 在集合内部沿引用关系递归查找(如汇报链、物料层级),支持出发字段、连接字段与深度上限。

NoSQL 速查数据更新于 2026-10-12
语法{ $graphLookup: { from, startWith, connectFromField, connectToField, as, maxDepth } }
场景组织树、上下级、路径依赖

示例

示例
db.employees.aggregate([
  { $match: { name: "Alice" } },
  { $graphLookup: { from: "employees", startWith: "$manager", connectFromField: "manager", connectToField: "_id", as: "chain", maxDepth: 5 } }
])
递归范围与深度不加限制时开销会快速上升,先用 maxDepth 控制。

易错点

  • 深层递归查询在数据规模变大后变慢,长链路场景考虑应用侧缓存或图数据库

数据来源与参考

  • MongoDB Manual: $graphLookup
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌