【发布时间】:2018-12-02 10:33:58
【问题描述】:
基本上总结在标题中,我想让它使在特定集合中创建的每个新文档都有一个递增的序列号。这是为了正确跟踪写入数据库的新订单。 AutoID 是随机的,会导致排序问题,我希望数据易于管理。这可以通过 Cloud Functions 实现吗?我可以查看任何示例代码 sn-ps 吗?谢谢!
【问题讨论】:
-
您应该通过在包含您的实际排序顺序的文档中添加一个字段来解决排序要求。为此使用顺序 ID 是 Firebase 的反模式,因为它会导致可扩展性问题。
-
您能否详细说明为什么顺序 ID 会导致可伸缩性问题?此外,任何允许通过 Cloud Functions 进行字段序列号的示例代码?
-
可扩展性来自 Firestore 如何在其存储层上传播文档。简化:顺序 ID 具有更多的哈希冲突,这意味着您可以更快地达到写入限制。拥有更随机的 ID 可确保写入在存储层中均匀分布。在读取时没有这样的瓶颈,这就是为什么推荐的方法是使用随机键和一个用于在读取时排序的字段。
-
您可以使用文档内的增量属性来解决您的问题。或者你可以在这里查看link.medium.com/JBLoRkvgz3
标签: java android firebase google-cloud-firestore google-cloud-functions