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

使用push()时触发db._checkNotDeleted is not a function错误求助

问题排查与解决

可能的原因及对应解决步骤

  • 服务缓存问题:修改代码后旧缓存未清除,导致原有正常代码也失效。直接重启你的Node.js服务,这是最常见的解决方式。
  • db实例被意外修改/失效:检查初始化db的代码,确认后续没有其他代码覆盖db变量,或者调用了删除/销毁数据库引用的方法(比如误写了db = null或相关删除API)。一旦db实例失效,所有依赖它的操作都会触发类似_checkNotDeleted的错误。
  • Firebase SDK API调用方式不匹配版本:
    • 如果你用的是Firebase v9+模块化SDK,要确保正确导入并使用API:
      // 正确导入
      import { push, ref, getDatabase } from "firebase/database";
      // 正确初始化db
      const db = getDatabase(app);
      // 正确调用push
      push(ref(db, "test/orders"), msg);
      
    • 如果你用的是Firebase v8及更早的命名空间SDK,push的调用方式应该是:
      db.ref("test/orders").push(msg);
      
      不要混用不同版本的API写法,比如用v9的push函数传入v8的db实例,必然会报错。

快速测试方法

写一段极简的测试代码单独验证:

// 在路由外或单独文件中测试
const testMsg = {"name":"Test"};
// 对应你的SDK版本选择调用方式
push(ref(db,"test/orders"), testMsg); // v9+
// 或 db.ref("test/orders").push(testMsg); // v8

如果这段测试代码能正常运行,再逐步排查原路由中的其他逻辑;如果还是报错,重点检查db的初始化过程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:47:15