【问题标题】:Firestore - cursors in paginated queries (problem when docs are deleted)Firestore - 分页查询中的游标(删除文档时出现问题)
【发布时间】:2021-02-18 17:48:33
【问题描述】:

我的应用在分页平面列表中存在问题...

目前,我正在按日期对数据进行排序,并使用 doc ref 作为光标。但是,如果在开始下一个查询之前删除了这个引用的文档会发生什么?似乎分页会被打破,从头开始重新开始获取(不太确定)。

另外,以前,我使用文档的日期字段作为光标...但是,如果 2 个文档具有相同的日期怎么办?分页在某些情况下会导致重复结果吗?

有什么想法吗?

【问题讨论】:

  • 这里有两个问题。请限制自己在每个帖子中回答一个问题。另请注意,这两者都可以很容易地测试,因此我建议您自己尝试一下 - 然后可能会自行回答。

标签: firebase google-cloud-firestore nosql


【解决方案1】:

另外,以前,我使用文档的日期字段作为光标...但是,如果 2 个文档具有相同的日期怎么办?在某些情况下分页会导致重复结果吗?

您可以将多个值传递给startAt、startAfter、endAt 和endAfter 方法,以确保这不会成为问题。如果您只传入一个日期值,那么数据库除了在该日期值/之后/之前开始/结束返回文档之外别无选择。但是,如果您传入锚文档的日期和 ID,它总是可以准确地在该文档处/之后/之前剪辑结果。

请注意,当您传入 DocumentSnapshot 时,这会自动为您处理,这就是为什么我通常更喜欢它而不是传入单个值。

【讨论】:

    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2020-08-15
    • 2021-05-13
    • 1970-01-01
    相关资源
    最近更新 更多