多个字段中的 Firebase firestore 唯一值

Firebase firestore unique values in multiple fields

我正在创建一个用于生成具有唯一 ID 的文档的应用程序,我的问题是 ID 需要采用特定格式 (00000/A/B),因此我无法使用 firestore 文档的 ID。

问题还在于我在不同的地方都有那个 id,

#1 例

users/{userID}/id = //此处为唯一 ID

#2 案例

users/{userID}/members <= members 是一个对象数组,其中每个成员都需要一个唯一的 ID

我在考虑单独收集 id,我可以在其中检查哪一个被占用了,但也许有更好的方法来确保 id 在整个应用程序中是唯一的?

您正在考虑的几乎是保证值在整个数据库中的唯一性的唯一方法。

在几个更结构化的步骤中,它将是:

  • 将该值用作辅助集合中的文档 ID。此集合纯粹是为了确保 ID 的唯一性。
  • 让用户认领它,通常是将他们的 UID 写入文档。
  • 使用安全规则确保用户只能编写不存在的文档,并且(如果需要)只有在拥有文档时才能删除。

唯一值的主题之前已经讨论过很多次,虽然通常是以唯一用户名的形式出现,所以我建议查看:

  • Cloud Firestore: Enforcing Unique User Names
  • I want to make unique usernames in firebase/firestore