簡體   English   中英

如何檢查Firebase數據庫中是否存在項目? -react-native-firebase

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM