【发布时间】:2019-06-21 20:01:44
【问题描述】:
我有一个方法可以从 FireStore 返回一些数据,该方法用于我的 Flutter 应用中的分页。
static Future<QuerySnapshot> getAllItems({int count: 12, dynamic lastKey}) {
if (lastKey != null) {
return Firestore.instance
.collection('uploads')
.where('active', isEqualTo: true)
.where('purge', isEqualTo: false)
.startAfter([lastKey])
.orderBy("active_time", descending: true)
.where('active_time', isLessThanOrEqualTo: DateTime.now())
.limit(count)
.getDocuments();
} else {
return Firestore.instance
.collection('uploads')
.where('active', isEqualTo: true)
.where('purge', isEqualTo: false)
.orderBy("active_time", descending: true)
.where('active_time', isLessThanOrEqualTo: DateTime.now())
.limit(count)
.getDocuments();
}
}
当没有传递 lastKey 值时,一切正常。但是当我传递 lastKey 的字符串值时,我得到了以下错误。
cursor position is outside the range of the original query
active_time 字段是 FireStore 中的时间戳类型。为相同创建索引。
【问题讨论】:
标签: firebase flutter google-cloud-firestore