我有一份看起来像下面结构的文件清单。
Posts ->
->uuid_1
-> approvedCount : 5
-> postMsg : "Hello world 1"
-> Timestamp : 1234567890
-> userId : "user1"
->uuid_2
-> approvedCount : 6
-> postMsg : "Hello world 2"
-> Timestamp : 1234567891
-> userId : "user2"
firestore中可能有数千个帖子,而且规模不断增加。
条件 - >在查询中过滤时,approvedCount
必须大于5。
现在我想按时间戳的升序每天获取20条记录。我不想重复,所以我今天说我明天就按升序取出了20条第一条记录我想要接下来的20条等等。
我试过像
这样的东西FirebaseUtil.getFireStoreDB("Posts").whereGreaterThan("approvedCount", 5)
.limit(20)
.orderBy("Timestamp", Query.Direction.ASCENDING)
.get()
但是不知道我将如何每天获取下一篇文章。因为从我知道的文档中你不能用< 2来查询2个字段。或者>否则,使用timestamp和approvedCount
会更容易答案 0 :(得分:2)
要解决此问题,您需要使用Paginate Data with Query Cursors,在其中您将找到一个名为startAfter()
的非常有用的方法,您可以在其中将{{1}中的最后一个可见元素作为参数传递对象。与官方文档中一样,您应该使用以下代码:
documentSnapshots