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

Firestore出现db.collection is not a function错误,官方文档是否过时?

问题解决说明

报错原因

你使用的是Firestore v9及以上的模块化SDK,但代码写的是v8及更早版本的命名空间语法,两种版本的API调用逻辑完全不同,因此触发了Uncaught TypeError: db.collection is not a function错误。

正确代码写法

v9+模块化SDK的正确调用方式如下:

import { getFirestore, doc, setDoc } from "firebase/firestore";
const db = getFirestore(app);

// 异步函数内写法
await setDoc(doc(db, "users", "123"), { name: "Mike" });

// 非异步环境下的Promise链式写法
setDoc(doc(db, "users", "123"), { name: "Mike" })
  .then(() => console.log("数据写入成功"))
  .catch(err => console.error("写入失败:", err));

关于文档版本的说明

你参考的Firebase官方文档是最新版本的。注意文档顶部有「Web version 9」和「Web version 8」的切换选项,你大概率是查看了v8版本的代码示例,但项目中引入的是v9+的模块化SDK,才导致语法不匹配。切换到对应版本的文档,就能看到和你当前SDK匹配的代码示例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:38:17