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

无法向Firebase Firestore添加数据,WebChannelConnection RPC报错求助

Firestore WebChannelConnection RPC写入错误排查方案

向Firebase Firestore添加数据时触发@firebase/firestore: Firestore (10.7.0): WebChannelConnection RPC错误,已确认是应用与数据库的连接问题,尝试过升级/降级Firestore库,问题仍存在,无法完成数据写入。

写入数据的函数代码

addProduct = async (activeI, brand, productId, qua, expyea) => {
    try{
        await addDoc(collection(db, 'tasks'), {
            brandName: brand,
            activeIngredient: activeI,
            created: Timestamp.now(),
            proId: productId,
            quantity: qua,
            // expiryMonth: expmon,
            expiryYear: expyea
        })
        alert("added")
      }
     catch (err) {
        alert("Please Fill in All Fields")
    }
  }

完整错误信息

[2023-12-28T11:19:26.325Z]  @firebase/firestore: Firestore (10.7.0): WebChannelConnection RPC 'Write' stream 0x45cffe61 transport errored: {"defaultPrevented": false, "g": {"A": true, "J": null, "T": [Circular], "g": {"A": 3, "Aa": 600000, "B": null, "C": 0, "D": "gsessionid", "G": false, "Ga": "jxDdqL3iKu1tDB1vRPlPg6tiBTwIVTzNvXfLVqy8Rv0", "H": 0, "I": [O], "Ia": -1, "J": true, "Ja": 12, "Ka": true, "L": "nt9JDa2NaUIccddfKv4dfA", "M": 45000, "Ma": [yd], "N": true, "P": true, "R": false, "T": 361, "W": [Object], "X": 0, "Y": 77536, "aa": "https://firestore.googleapis.com/google.firestore.v1.Firestore/Write/channel", "ca": true, "da": 4, "ea": true, "eb": 5000, "fb": false, "g": null, "gb": false, "h": [fe], "hb": 2, "i": [td], "ib": 1, "j": [Array], "kb": 10000, "l": [Tb], "m": null, "o": null, "pa": null, "qa": [Object], "ra": undefined, "s": null, "sa": "", "ta": undefined, "u": null, "ua": 8, "v": null, "ya": undefined, "za": [O]}, "h": {"database": "projects/pharmacy-app-a81d8/databases/(default)"}, "i": {"g": [Object], "h": 4, "src": [Circular]}, "j": {"g": [Circular]}, "l": "https://firestore.googleapis.com/google.firestore.v1.Firestore/Write/channel", "o": undefined, "s": false, "v": true}, "status": 1, "target": {"A": true, "J": null, "T": [Circular], "g": {"A": 3, "Aa": 600000, "B": null, "C": 0, "D": "gsessionid", "G": false, "Ga": "jxDdqL3iKu1tDB1vRPlPg6tiBTwIVTzNvXfLVqy8Rv0", "H": 0, "I": [O], "Ia": -1, "J": true, "Ja": 12, "Ka": true, "L": "nt9JDa2NaUIccddfKv4dfA", "M": 45000, "Ma": [yd], "N": true, "P": true, "R": false, "T": 361, "W": [Object], "X": 0, "Y": 77536, "aa": "https://firestore.googleapis.com/google.firestore.v1.Firestore/Write/channel", "ca": true, "da": 4, "ea": true, "eb": 5000, "fb": false, "g": null, "gb": false, "h": [fe], "hb": 2, "i": [td], "ib": 1, "j": [Array], "kb": 10000, "l": [Tb], "m": null, "o": null, "pa": null, "qa": [Object], "ra": undefined, "s": null, "sa": "", "ta": undefined, "u": null, "ua": 8, "v": null, "ya": undefined, "za": [O]}, "h": {"database": "projects/pharmacy-app-a81d8/databases/(default)"}, "i": {"g": [Object], "h": 4, "src": [Circular]}, "j": {"g": [Circular]}, "l": "https://firestore.googleapis.com/google.firestore.v1.Firestore/Write/channel", "o": undefined, "s": false, "v": true}, "type": "c"}

排查步骤

  • 检查Firestore安全规则:确认tasks集合的写入权限是否开放。测试阶段可临时设置为允许所有写入(上线后务必修改为严格权限):
    rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        match /tasks/{document} {
          allow read, write: if true;
        }
      }
    }
    
  • 验证Firebase初始化配置:核对db实例的初始化代码,确保API密钥、项目ID、存储桶等参数与Firebase控制台完全一致。
  • 排查网络限制:确认应用所在网络可以访问Firestore服务,比如关闭代理、防火墙,或切换至手机流量测试。
  • 完善错误捕获逻辑:当前catch块仅提示固定信息,修改为打印具体错误详情,便于定位问题:
    catch (err) {
      console.error("写入失败详情:", err);
      alert(`写入失败: ${err.message}`);
    }
    
  • 检查数据有效性:确认传入的activeI、brand、qua等参数类型正确,比如quantity应为数字而非字符串;同时确保Timestamp已从firebase/firestore正确导入。
  • 测试基础连接:先尝试执行简单的读操作(比如读取tasks集合的一条数据),验证应用与Firestore的基本连接是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:09:53