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

Firebase FireStore调用setDoc写入数据报错,求解决:类型不匹配问题

问题排查与解决

错误原因

你的setDoc调用参数格式错误。Firebase Firestore的setDoc函数要求第一个参数是文档引用对象,但你直接把db、集合名、文档名作为前三个参数传入,导致类型不匹配,触发了expected type 'va', but it was: a custom Ba object的错误。

修复后的代码

import { doc, setDoc } from "firebase/firestore"; // 确保导入doc函数

useEffect(() => {
    const setCount = async () => {
        try {
            // 先创建文档引用:doc(数据库实例, 集合名, 文档ID)
            const docRef = doc(db, "data", "data");
            await setDoc(docRef, {
                test: { choice }
            });
        }
        catch (e) {
            console.log(e.message);
        }
    };
    setCount();
}, []);

关键说明

  • 必须使用doc()函数生成合法的文档引用,再传递给setDoc
  • setDoc的第二个参数才是要写入的文档数据对象
  • 确保已经正确导入doc和setDoc这两个Firestore函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:45:54