0
我正在嘗試爲我的學校製作Android應用程序。我們被分配一個卷號。我希望將學生存入Firebase,同時確保沒有兩名學生擁有相同的卷號和電子郵件。我將它們存儲在類似的方式:檢查Firebase中的兩個或多個副本
{
"Users": {
"Uid":{
"data":{
"Name": "",
"RollNumber: "",
"Email": "",
"Phone": "",
"Other Fields": ""
},
"otherData": {
}
}
}
}
也許以後擴展做出一定的獨特組合一樣,沒有兩個學生可以有電話和出生日期和(只是一個例子)的相同的組合。
我會建議您將RollNumber作爲用戶的UID,因爲這樣可以通過Firebase安全強制執行規則,否則不可能,而且您將依賴於客戶端查詢(不安全)或者必須設置CloudFunctions或AppEngine/Server進行檢查。另外一個查詢將會對你當前的結構非常不方便,因爲你無法深入查詢2層,所以你每次都必須下載整個用戶節點(這對於一所學校來說可能是可以通過的) – Linxy
但是我也想讓Phone no 。和Uid獨特。對此有何建議? –
那麼,在那個原因中,我只是unnest數據類,所以你可以查詢RollNumber或電子郵件,如果一個不是唯一的,然後檢查另一個。您必須依賴使用查詢,因爲該結構不允許檢查Firebase安全性,除非您更改/添加其他節點。 – Linxy