我在Firebase下面有一个查询,用于在给定键之后获取值,以用于分页。
Firestore.instance
.collection('uploads')
.where('active', isEqualTo: true)
.where('purge', isEqualTo: false)
.where('active_time', isLessThan: Timestamp.now())
.startAfter([lastKey])
.orderBy("active_time", descending: true)
.limit(count)
.getDocuments();
我想用另一种方法替换此查询。.我不想使用startAfter()
条件来达到相同的效果。
where
但是我有0条记录,尽管我有更多记录。
为什么要尝试这个?
如果我使用startAfter()方法,则会收到Firestore.instance
.collection('uploads')
.where('active', isEqualTo: true)
.where('purge', isEqualTo: false)
.where('active_time', isLessThan: lastKey)
.orderBy("active_time", descending: true)
.limit(count)
.getDocuments();
错误。我找不到此问题的解决方案。因此,我想尝试另一种方法,因为cursor position is outside the range of the original query
是一个时间戳字段,所以我想根据最后获得的时间戳值获取下一组旧记录。
我想解决异常或采用其他方法来返回数据。
PS:。这是Dart / Flutter代码。