Firebase JavaScript v9中如何通过DocumentSnapshot访问子集合?
Firebase JS v9 从DocumentSnapshot获取子集合下指定文档的实现方式
Firebase JavaScript v9 采用模块化API设计,你需要的功能可以通过以下方式实现:
步骤1:引入必要方法
首先从firestore模块导入collection和doc方法:
import { collection, doc } from "firebase/firestore";
步骤2:获取子文档引用
DocumentSnapshot实例的ref属性在v9版本中依然可用,你可以直接将其作为父引用传入collection方法拿到子集合,再调用doc方法获取指定slug的文档引用:
// 分步写法,可读性更高 const userRef = userDoc.ref; const postsColRef = collection(userRef, 'posts'); const postRef = doc(postsColRef, slug);
也可以直接简写为一行:
// 简写版本 const postRef = doc(collection(userDoc.ref, 'posts'), slug);
补充说明
如果你使用的是v9的兼容版本(firebase/compat/firestore),你原来的链式调用写法可以直接正常运行,无需调整。
内容的提问来源于stack exchange,提问作者Vojir
相关产品推荐
相关产品推荐

