我在Firestore上有一个非常大的收藏,我希望能够在按参数排序之后获得一系列文档,例如:
1 doc1
2 doc2
3 doc3
4 doc4
5 doc5
...
我想制作一个类似getRangeOfDocuments(start: number, end: number)
的服务函数,将其称为getRangeOfDocuments(2, 4)
以获取文档[doc2, doc3, doc4]
。
startAt
和endAt
运算符将文档作为参数,这意味着要获得先前的结果,我应该使用doc2
和doc4
:{{1} }。
ref.startAt(doc2).endAt(doc4)
运算符可以使其适用于我要从limit
开始的范围。
如何使用行号而不是文档来获取不以doc1
开头的范围?
答案 0 :(得分:1)
Firestore无法将查询偏移结果集中的某个索引。您需要提供一个文档或值,以便从结果集as described in the documentation for pagination的某个点继续查询。 (考虑一下结果的索引可能会随着时间的变化而变化,因为新数据可能会影响查询的结果,并且您会发现,对结果进行数字索引会产生不好的结果。)