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

Firebase中collectionGroup获取子集合父集合路径异常问题咨询

问题解答

这不是Firebase的bug,是你对ref.parent的作用理解有偏差。

核心原因:

  • 当你通过collectionGroup('stats')获取到stat文档时,stat.ref指向的是**stats子集合里的单个文档**,它的parent属性对应的是这个stats子集合本身,而不是包含stats的父文档。
  • 你当前打印的stat.ref.parent.path,其实是stats子集合的完整路径,所以才会出现类似02pw7ZM3OtUS3irhO1aF/02pw7ZM3OtUS3irhO1aF/stats的结果——这里的前两段是父文档的ID路径,最后一段是子集合名称。

解决方法:

如果你想获取stats子集合的父文档(也就是你预期的projects开头的路径),需要再往上遍历一级,调用stat.ref.parent.parent.path。示例代码如下:

const testRef = db.collectionGroup('stats')
const statsTest = await testRef.get()
statsTest.forEach((stat) => {
  // 获取stats子集合的父文档路径
  console.log(stat.ref.parent.parent.path)
})

这样输出的路径就会以projects开头,符合你的预期。

补充说明:

之前测试根集合dealers时,stat.ref.parent.path输出dealers符合预期,是因为根集合里的文档的parent就是根集合本身,所以路径直接是集合名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:54:19