我的应用在分页平面列表中遇到问题...
目前,我正在按日期对数据进行排序,并使用 doc ref 作为光标。但是,如果在开始下一个查询之前删除了这个被引用的文档,会发生什么?看来分页会被破坏,从头开始重新抓取(不太确定)。
另外,以前,我使用文档的日期字段作为游标...但是,如果 2 个文档具有相同的日期呢?在某些情况下分页会导致重复结果吗?
有什么想法吗?
答案 0 :(得分:1)
另外,以前,我使用文档的日期字段作为游标...但是,如果 2 个文档具有相同的日期呢?在某些情况下分页会导致重复结果吗?
您可以将多个值传递给 startAt
、startAfter
、endAt
和 endAfter
方法,以确保这不会成为问题。如果您只传入一个日期值,则数据库除了在该日期值/之后/之前开始/结束返回文档之外别无选择。但是,如果您传入锚文档的日期和 ID,它始终可以准确地在该文档之前/之后/之前剪辑结果。
请注意,当您传入 DocumentSnapshot
时,系统会自动为您处理,这就是为什么我通常更喜欢这样做而不是传入单个值。