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

Firebase 9.0访问数据库报错:db未定义及collection参数异常问题

Firebase 9 Firestore 实例配置错误解决方案

两个报错的根因都是没有传入符合要求的参数:collection()第一个参数必须是初始化完成的Firestore实例,不能直接填写项目ID字符串。

1. 配置Firebase初始化文件

在项目的Firebase工具文件(如src/utils/firebase.utils.js)中完成初始化并导出Firestore实例:

// 导入Firebase 9 模块化API
import { initializeApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";
import { getAuth } from "firebase/auth";

// 替换为你自身项目的Firebase配置,可在Firebase控制台项目设置页获取
const firebaseConfig = {
  apiKey: "你的项目apiKey",
  authDomain: "你的项目authDomain",
  projectId: "crwn-db-ff8b4", // 对应你截图里的项目ID
  storageBucket: "你的项目storageBucket",
  messagingSenderId: "你的项目messagingSenderId",
  appId: "你的项目appId"
};

// 初始化Firebase应用
const app = initializeApp(firebaseConfig);

// 初始化并导出Firestore实例,就是你需要的db变量
export const db = getFirestore(app);
// 导出身份验证实例供登录功能使用
export const auth = getAuth(app);

2. 业务代码引入db实例

在写createUserProfileDocument函数的文件顶部导入配置好的db:

import { db } from '你的firebase配置文件相对路径';
import { collection, getDocs } from 'firebase/firestore';

3. 修复后的函数代码

export const createUserProfileDocument = async(userAuth, aditionalData) => {
  if (!userAuth) return;

  const querySnapshot = await getDocs(collection(db, 'users'));
  querySnapshot.forEach((doc) => {
    // 原代码直接拼接对象会显示[object Object],改成逗号分隔打印完整数据
    console.log(`${doc.id} => `, doc.data());
  });
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:36:03