如何在Firebase JS SDK v9版本中通过ID查询Firestore文档
实现代码
你只需要从Firestore模块化包导入对应方法,替换原有链式调用即可,示例如下:
// 导入依赖,db是你已经初始化完成的Firestore实例 import { doc, getDoc } from "firebase/firestore"; // 生成目标文档的引用,参数依次为Firestore实例、集合名、文档ID const userDocRef = doc(db, "users", id); // 拉取文档快照 const docSnapshot = await getDoc(userDocRef); if (docSnapshot.exists()) { // 文档存在时读取数据,用法和v8完全一致 const userData = docSnapshot.data(); console.log(userData); } else { console.log("该ID对应的文档不存在"); }
额外说明
- 这种模块化写法支持tree shaking,最终打包的产物体积会比v8版本小很多,是v9官方推荐的用法
- 如果你暂时不想改原有v8代码,也可以使用v9提供的compat兼容包,原有v8的链式调用语法可以完全不修改直接运行
- 文档快照的API和v8完全对齐,
data()取全量数据、get("字段名")取单个字段、id取文档ID这些用法都可以直接沿用
内容的提问来源于stack exchange,提问作者The Wormple
相关产品推荐
相关产品推荐

