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

如何在MongoDB中创建将子ID替换为完整子文档的自关联视图

MongoDB 自关联视图实现方案

视图创建代码

直接通过$lookup聚合操作即可实现数组字段的同集合关联,不需要额外循环处理,视图动态计算不占用持久化存储空间:

db.createView("sample_with_full_children", "sample", [
  {
    $lookup: {
      from: "sample",
      localField: "children",
      foreignField: "parent_id",
      as: "children"
    }
  }
])

调用方式

视图创建完成后直接查询即可得到符合要求的结果:

// 查询视图返回替换后的完整文档
db.sample_with_full_children.find()

性能优化建议

给关联字段parent_id添加索引,可大幅提升关联查询效率,适合大数据量场景:

db.sample.createIndex({ parent_id: 1 }, { unique: true })

如果你的业务有极高的查询频率,也可以使用MongoDB 4.2+版本支持的物化视图能力,定期预计算结果进一步降低查询延迟。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:45:04