javascript - Firebase 和曾经有什么不同?
问题描述
我在了解更多关于 on and once in firebase API 时遇到了问题。假设我有这个数据库结构 当我监听 child_add 时,它按预期工作。
firebase.database().ref(this.getRootRef())
.orderByChild('createdAt')
.limitToLast(NUM_MSG_PER_REQUEST)
.on('child_added', (datas) => {
if (datas) {
_callback(datas.val());
}
});
但是当我要过滤一次时,没有任何影响。
firebase.database().ref(this.getRootRef())
.orderByChild('createdAt')
.endAt('createdAt', '2019-03-17 02:46:50') // tested with startAt, equalsTo => the same result. No effect
// .limitToLast(NUM_MSG_PER_REQUEST)
.once('value', (vals) => {console.log(vals.val()});
有人可以解释更多关于这两个功能的信息吗?在这种情况下,我应该写什么才能在做一次过滤器时使用?
非常感谢!
2019 年 3 月 18 日更新
函数 getRootRef() 返回'/messages/2019-03-15'。
两个代码片段都有效,但我不清楚的是过滤器是如何应用的。
例如:orderByChild('createdAt')
使用此过滤器,第一个返回按“createdAt”排序的结果。但第二个不会。它没有订单就返回。
解决方案
推荐阅读
- python-3.x - 用 Python 实现的这种快速排序算法的复杂度是多少
- java - 部署到 Google App Engine (Eclipse/Java) 时发生 UnicodeDecodeError
- sql - 远程 SQL Server
- android-emulator - 关于在 android 模拟器中创建 xxhdpi、xxxhdpi 手表有什么建议吗?
- ios - 本地通知附件在通知中心消失?
- python - Python- IF Else 语句并返回
- scala - 我可以为现有方法创建扩展方法吗?它必须是一种方法吗?
- c# - 如何在 C# 中接受 ulong 类型变量?
- sql - 如何将unix时间戳转换为日期
- c++ - C++:类的全局实例与命名空间:RAM 使用情况?