javascript - Firebase 数据库参考快照未返回任何数据
问题描述
我正在尝试读取一些已放入 Firebase 数据库的虚拟数据,但尽管尽力遵循文档,但无法让它返回任何内容。
我有一个初始化 Firebase 的 JS 文件,并导出了这个变量:
const database = firebase.database();
在我试图读入的文件中,我有以下内容:
import database from './firebase';
const dbRef = database.ref('users/');
dbRef.on('value', (snapshot) => {
console.log(snapshot.val());
});
没有任何东西被登出到控制台。但是当我只注销 dbRef 时,我得到了 Reference 对象,所以它似乎连接正确:
Reference {repo: Repo, path: Path, queryParams_: QueryParams, orderByCalled_: false}
database: (...)
key: (...)
orderByCalled_: false
parent: (...)
path: Path {pieces_: Array(1), pieceNum_: 0}
queryParams_: QueryParams {limitSet_: false, startSet_: false, startNameSet_: false, endSet_: false, endNameSet_: false, …}
ref: (...)
repo: Repo {repoInfo_: RepoInfo, app: FirebaseAppImpl, dataUpdateCount: 0, statsListener_: null, eventQueue_: EventQueue, …}
root: (...)
__proto__: Query
我找不到哪里出错了,非常感谢您的帮助。在我的 Firebase 控制台中,我默认使用 Cloud Firestore 而不是实时数据库,不确定这是否有所不同。
解决方案
您正在尝试使用实时数据库 API 而不是 Firestore API。它们根本不是同一个数据库,也不共享相同的 API。使用Firestore 文档开始。您将使用firebase.firestore()
而不是firebase.database()
. Firestore 的 API 文档从这里开始。
推荐阅读
- bosch-iot-suite - 提取的jar文件找不到主类
- mysql - 如何在 MYSQL 中将 ISO8601 时间转换为日期时间
- python - 在 python 3 中创建一个序列
- swift - 电话号码的自定义 Swift 格式化程序
- python - 更改活动窗口
- sql - Postgres 数据类型声明和键入,双冒号和非冒号有什么区别
- azure - Azure 默认变量未在表达式中求值
- .net - 媒体类型不支持 415 从 Angular 7 SPA 到 .NET,而请求在 Postman 中工作
- javascript - 提交 Google 表单时,如果我使用多个函数调用,函数将不起作用
- mysql - ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册