[英]How to check Item exists in Firebase Database? - react-native-firebase
目前,我正在為項目使用https://github.com/invertase/react-native-firebase 。 我有一個用於用戶的自定義數據庫,我想通過電子郵件檢查該用戶是否存在。
這是數據庫的屏幕截圖:
這是通用的Firebase方法,但您可能需要重新配置該方法以適合您的數據結構。 如果您想了解更多信息,請參考官方文檔 。
firebase.database()
.ref(`/users`)
.orderByChild("email")
.equalTo(email)
.once("value")
.then(snapshot => {
if (snapshot.val()) {
// data exist, do something else
}
})
您也可以使用hasChild
方法查詢注冊狀態。 引用您的根路徑並使用.once
查詢,並檢查返回的結果。
export function checkUserExist(email) {
return(dispatch) => {
firebase.database().ref(`/ExistingUser/`)
.once('value', snapshot => {
if(snapshot.hasChild(email)) {
dispatch({
type: FIREBASE_USER_EXISTED
});
} else {
dispatch({
type: FIREBASE_USER_NOT_EXISTED,
});
}
});
}
}
另一個首選方法是使用Firebase提供的fetchProvidersForEmail
方法。 它會收到一封電子郵件,並返回一個承諾,該承諾將解決與該電子郵件鏈接的提供者列表(如果已注冊)的信息, 請參閱此處 。
是否有充分的理由將用戶憑證存儲在您的數據庫中? 在我的日常實踐中,出於安全目的,我將使用Firebase提供的createUserWithEmailAndPassword
, 請參閱此處 。 只要確保正確定義了規則即可防止未經授權的訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.