如果您没有文档参考,是否可以在Firestore查询中使用StartAt

时间:2019-01-06 10:48:40

标签: javascript firebase google-cloud-firestore

我正在使用来自Firestore的数据建立分页列表。

我已经阅读了https://firebase.google.com/docs/firestore/query-data/query-cursors上的文档,并指出如果您要使用分页,则应将startAt与文档参考一起使用。

但是,我的列表不使用文档引用作为对象,因为我的数据不是Firestore文档,它们像大多数应用程序一样进行处理,并且所有数据库元数据都被删除。如文档参考。

因此,为了找到列表中的最后一个对象,我需要对Firestore进行get调用以获取文档引用。

还有其他方法可以使用startAt而不用从firestore提取(获取)完整文档,因为我确实拥有所需的引用文档的ID?

PS。我不想在我的对象/类上存储任何DB(firestore)数据。他们不应该紧密耦合到数据库。

1 个答案:

答案 0 :(得分:1)

documentation for startAt说:

  

startAt

     

startAt(snapshotOrVarArgs) returns firebase.firestore.Query

     

创建一个新查询,查询的结果从提供的文档(含)开始。起始位置是相对于查询顺序的。该文档必须包含查询的orderBy中提供的所有字段。

     

参数

     

snapshotOrVarArgs(非空firebase.firestore.DocumentSnapshot或可重复的任何类型)

     

您希望查询从以下位置开始的文档的快照:或字段值,以查询的顺序开始

因此,您可以为要过滤/排序的每个字段输入DocumentSnapshot或一个值。仅凭文档ID是不够的,除非您的查询仅按文档ID进行过滤/排序。