Firestore - 分页查询中的游标(删除文档时出现问题)
Firestore - cursors in paginated queries (problem when docs are deleted)
我的应用在分页平面列表中有问题...
目前,我正在按日期对数据进行排序,并使用 doc ref 作为游标。但是,如果在开始下一个查询之前删除了这个引用文档,会发生什么情况?好像分页会坏掉,重新从头开始抓取(不太确定)
此外,以前,我使用文档的日期字段作为游标...但是,如果 2 个文档具有相同的日期怎么办?分页在某些情况下会导致重复结果吗?
有什么想法吗?
Also, previosly, I was using the date field of the documents as cursors... but, what about if 2 documents have the same date? Will the pagination cause repeated results in some cases?
您可以将多个值传递给 startAt
、startAfter
、endAt
和 endAfter
方法,以确保这不会成为问题。如果您只传递一个日期值,数据库除了 start/end 返回文档 at/after/before 该日期值外别无选择。但是如果你传入锚文档的日期和ID,它总是可以精确地截取结果at/after/before那个文档。
请注意,当您传入 DocumentSnapshot
时,系统会自动为您处理,这就是为什么我通常更喜欢它而不是传入单个值。
我的应用在分页平面列表中有问题...
目前,我正在按日期对数据进行排序,并使用 doc ref 作为游标。但是,如果在开始下一个查询之前删除了这个引用文档,会发生什么情况?好像分页会坏掉,重新从头开始抓取(不太确定)
此外,以前,我使用文档的日期字段作为游标...但是,如果 2 个文档具有相同的日期怎么办?分页在某些情况下会导致重复结果吗?
有什么想法吗?
Also, previosly, I was using the date field of the documents as cursors... but, what about if 2 documents have the same date? Will the pagination cause repeated results in some cases?
您可以将多个值传递给 startAt
、startAfter
、endAt
和 endAfter
方法,以确保这不会成为问题。如果您只传递一个日期值,数据库除了 start/end 返回文档 at/after/before 该日期值外别无选择。但是如果你传入锚文档的日期和ID,它总是可以精确地截取结果at/after/before那个文档。
请注意,当您传入 DocumentSnapshot
时,系统会自动为您处理,这就是为什么我通常更喜欢它而不是传入单个值。