Google cloud firestore Firestore:使用光标分页
我正在尝试使用Firestore对数据进行分页,并且将在需要重复的列上对数据进行排序,如果分页恰好在这些值中,那么它将无法正常工作 我可以根据文档ID使用StartAfter来解决这个问题,文档ID始终是唯一的Google cloud firestore Firestore:使用光标分页,google-cloud-firestore,Google Cloud Firestore,我正在尝试使用Firestore对数据进行分页,并且将在需要重复的列上对数据进行排序,如果分页恰好在这些值中,那么它将无法正常工作 我可以根据文档ID使用StartAfter来解决这个问题,文档ID始终是唯一的 实现这一点的一种方法是将最后一个文档的id传递给服务器端RESTAPI请求。这需要两个步骤,即使用DocumentId获取DocumentSnapshot和基于它构造查询 var lastSnapshot=fetchSnapshot(id); citiesRef.OrderBy(“人口”
以下哪种方法是一种好的方法,或者获取DocumentSnapshot,而不是将id持久化到文档中,或者执行两个操作,首先持久化DocumentId,然后将其用作StartAfter的键。决定使用选项1,不要像选项2那样将文档ID保存在文档本身中。为什么不使用中介绍的解决方案?根据文档,您只能减少歧义,而不能消除歧义,除非列顺序基于唯一值:当使用基于字段值(而非DocumentSnapshot)的光标时,通过添加其他字段,可以使光标位置更精确。如果您的数据集包含多个文档,这些文档的光标字段值都相同,从而导致光标位置不明确,那么这一点尤其有用。可以向光标添加其他字段值,以进一步指定起点或终点,并减少歧义。