【发布时间】:2021-07-10 17:28:50
【问题描述】:
我正在创建一个小游戏,人们可以使用六位数的密码加入房间。每个房间都由 Firestore 集合中的一个文档表示,其中房间 pin 是房间文档的 ID。
我最初的想法是随机生成一个六位数的 pin 并检查是否存在具有该 id 的文档。如果是,则使用生成的 pin 创建一个新文档,如果不是,则生成一个新 pin 并检查该 id 是否可用。这种方法会起作用,但是如果运气不好,它可能会导致对数据库产生大量不必要的请求。
因此,我的问题是:是否可以指定自动生成的 id 的格式?或者,如果不可能,有没有办法获取所有文档 id 以在本地检查 id 是否存在?
【问题讨论】:
-
@Frank 提到的重复 ID 的可能性很高,尤其是只有 6 位数字。我建议考虑增加 PIN 的长度或坚持使用 Firestore ID。如果您只需要带有数字的唯一 ID,uuid-int 是另一种选择。
标签: firebase google-cloud-firestore