无法访问Firestore数据,始终返回5 NOT_FOUND错误
解决Node.js访问Firestore非默认数据库的NOT_FOUND错误
问题出在你初始化Firebase Admin时错误使用了databaseURL字段——这个字段是给Realtime Database配置用的,而非Firestore。要访问Firestore的非默认数据库,需要在获取Firestore实例时指定databaseId参数。
修正后的代码
const admin = require("firebase-admin"); admin.initializeApp({ credential: admin.credential.cert(require("../gymapp-xxxxx-xxxxxxxxx.json")), projectId: "gymapp-xxxxx", }); // 获取Firestore实例时指定非默认数据库ID const db = admin.firestore({ databaseId: "gymapp-data" }); (async () => { try { const deniedDoc = await db.collection("users").get(); var size = deniedDoc.size; console.log("Dimensione della collezione 'users':", size); } catch (err) { console.error("Errore:", err); } })();
补充说明
- Flutter SDK能正常访问,是因为它的Firestore客户端支持直接指定非默认数据库的配置方式,和Node.js Admin SDK的配置逻辑不同。
- 既然Flutter能正常访问,权限问题大概率不存在,核心问题就是数据库ID的指定方式错误。
内容的提问来源于stack exchange,提问作者loreeemartiii
相关产品推荐
相关产品推荐

