我正在創建一個用于生成具有唯一 ID 的檔案的應用程式,我的問題是 ID 需要采用特定格式(00000/A/B),所以我不能使用 Firestore 檔案的 ID。
問題還在于我在不同的地方有那個ID,
#1 案例
users/{userID}/id = //這里唯一的 ID
#2 案例
users/{userID}/members <= members 是一個物件陣列,其中每個成員都需要一個唯一的 id
我在考慮單獨的 id 集合,我可以在其中檢查哪個被采用,但也許有更好的方法來確保 id 在整個應用程式中是唯一的?
uj5u.com熱心網友回復:
您正在考慮的幾乎是保證整個資料庫中值的唯一性的唯一方法。
在一些更結構化的步驟中,它將是:
- 將該值用作輔助集合中的檔案 ID。該集合的存在純粹是為了確保 ID 的唯一性。
- 讓用戶宣告它,通常通過將他們的 UID 寫入檔案。
- 使用安全規則確保用戶只能在檔案尚不存在的情況下撰寫檔案,并且(如果需要)僅在擁有該檔案時將其洗掉。
唯一值的主題之前已經討論過很多次了,雖然通常以唯一用戶名的形式出現,所以我建議查看:
- Cloud Firestore:強制使用唯一用戶名
- 如何在 Firestore 集合中生成和保證唯一值?
- 如何在 Google Cloud Firestore 中的檔案欄位的屬性中強制唯一性
- Firestore 唯一索引或唯一約束?
- 我想在 firebase/firestore 中創建唯一的用戶名
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/444495.html
