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

Android端Firestore如何获取子集合的Document ID

访问指定随机ID文档的实现方案

你的数据层级结构如下:

根集合Collection → 固定ID文档document → 子集合subCollection → 随机ID文档randomDocumentId → 待访问子集合subSubCollection


场景1:已提前留存随机文档ID

如果你当初在subCollection下创建这个随机ID文档时,已经把返回的文档ID存储到了上层文档、本地存储或者业务数据库中,直接按层级拼接路径即可访问下层集合,以Web端JavaScript Firestore SDK为例:

const targetCollection = db
  .collection('Collection') // 替换为你的根集合名
  .doc('你的固定document名') // 替换为第二层固定ID文档的实际名称
  .collection('subCollection') // 替换为第三层子集合的实际名称
  .doc('你已留存的randomDocumentId值') // 填入你保存的随机文档ID
  .collection('subSubCollection'); // 替换为你要访问的最下层集合名
// 后续可直接对targetCollection执行增删改查操作

所有平台的Firestore SDK逻辑完全一致,按上述层级拼接路径即可。

场景2:未留存随机文档ID

如果你没有保存过这个随机ID的值,需要先查询subCollection下的文档列表拿到ID,再访问下层集合,可搭配where条件缩小查询范围:

// 先查询subCollection下的文档
const subColRes = await db
  .collection('Collection')
  .doc('你的固定document名')
  .collection('subCollection')
  // 如有筛选条件可在此处添加:.where('字段名', '==', '匹配值')
  .get();

// 遍历查询结果获取随机ID,访问下层集合
subColRes.forEach(docItem => {
  const randomDocId = docItem.id; // 此处拿到randomDocumentId
  const targetCollection = docItem.ref.collection('subSubCollection');
  // 执行你需要的业务逻辑
  console.log('当前随机文档ID为:', randomDocId);
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:39:04