Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查Firebase数据库中是否存在项?-反应天然火基_Firebase_React Native_Firebase Realtime Database_React Native Android_React Native Ios - Fatal编程技术网

如何检查Firebase数据库中是否存在项?-反应天然火基

如何检查Firebase数据库中是否存在项?-反应天然火基,firebase,react-native,firebase-realtime-database,react-native-android,react-native-ios,Firebase,React Native,Firebase Realtime Database,React Native Android,React Native Ios,目前,我正在为我的项目使用。我有一个用户自定义数据库,我想通过电子邮件检查用户是否存在 以下是数据库的屏幕截图: 这里有一个通用的firebase方法,但您可能需要重新配置该方法以适合您的数据结构。如果您想了解更多信息,请参阅 firebase.database() .ref(`/users`) .orderByChild("email") .equalTo(email) .once("value") .then(snapshot => {

目前,我正在为我的项目使用。我有一个用户自定义数据库,我想通过电子邮件检查用户是否存在

以下是数据库的屏幕截图:


这里有一个通用的firebase方法,但您可能需要重新配置该方法以适合您的数据结构。如果您想了解更多信息,请参阅

firebase.database()
    .ref(`/users`)
    .orderByChild("email")
    .equalTo(email)
    .once("value")
    .then(snapshot => {
        if (snapshot.val()) {
            // data exist, do something else
        }
    })
您还可以使用
hasChild
方法查询注册状态。参考根路径并使用
进行查询。一次
并检查返回的结果

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
。只需确保正确定义了规则,以防止未经授权的访问