【发布时间】:2020-04-08 15:20:20
【问题描述】:
首先,我是 Stackoverflow 和 Flutter Web 编码方面的新手。这是我的 Flutter 医生:
[✓] Flutter(Channel dev, v1.13.0, on Mac OS X 10.14.6 18G95, locale en-US)
[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.0)
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 10.3)
[✓] Chrome - 为网络开发
[✓] Android Studio(3.5版)
[✓] VS Code(版本 1.40.2)
[✓] 已连接设备(3 个可用)
• 未发现任何问题!
现在我得到了一个如下所示的数据库:
我想要做的是根据它的“时间戳/秒”查询艺术品的孩子,如下所示:
fbDB = database();
fbArtworkRef = fbDB.ref('artworks');
await fbArtworkRef
.orderByChild('last_updated/seconds')
.limitToLast(10)
.once(('value'))
.then((value) {
value.snapshot.forEach((child) {
print(child.val());
});
});
看下图:
所以整个数据是 843.9KB。请注意,当我执行上面的代码时,我得到了 10 个艺术品子作为回报(大约 3KB),但在使用中它显示 858.6KB。这意味着它下载了整个艺术品节点及其所有子节点(加上开销),然后在客户端对列表进行排序。
所以问题:
1. 我怎么能真的只下载那 10 条数据而不是获取所有内容?
2. Flutter App 也是一样的行为吗?
【问题讨论】:
标签: firebase flutter firebase-realtime-database dart flutter-web