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

Firebase初始化报错:Expected type 'Firestore$1',实际为自定义Firestore对象

解决Firebase Admin SDK连接模拟器报错:Expected type 'Firestore$1', but it was: a custom Firestore object

错误原因

你错误地将客户端Firebase SDK的connectFirestoreEmulator方法用于Firebase Admin SDK的Firestore实例,两者类型不兼容,导致类型匹配报错。

修正方案

移除客户端SDK的方法导入,改用Admin SDK原生的配置方式连接模拟器:

修正后的Firebase初始化代码

import admin from 'firebase-admin'

const firebaseConfig = {
    apiKey: "XXXXX",
    authDomain: "linkedincv-bdbec.firebaseapp.com",
    projectId: "linkedincv-bdbec",
    storageBucket: "linkedincv-bdbec.appspot.com",
    messagingSenderId: "472466845815",
    appId: "XXXXX",
    measurementId: "XXXXX",
};

// Initialize Firebase
const app = admin.initializeApp(firebaseConfig);

const db = admin.firestore();
// 配置连接到本地Firestore模拟器
db.settings({
  host: 'localhost:4000',
  ssl: false // 模拟器默认使用HTTP,无需SSL
});

export {db}

关键说明

  • Admin SDK的Firestore实例不支持客户端SDK的connectFirestoreEmulator方法,必须通过settings()指定模拟器地址和SSL设置。
  • 确保Firebase模拟器已启动,执行命令:firebase emulators:start --only firestore,端口需与代码中配置的4000一致。
  • 你的执行代码无需修改,db.collection("json_cv").doc("zied").set(payload)是Admin SDK的正确用法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:33:11