多个字段中的 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
我正在创建一个用于生成具有唯一 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