答えて

1

ここでは、一般的なfirebase方法ですが、あなたはあなたのデータ構造に合わせて方法を再設定する必要があるかもしれません。詳しく知りたい場合はofficial docsを参照してください。

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, 
      }); 
     } 
     }); 
    } 
} 

もう1つの好ましい方法は、Firebaseが提供するfetchProvidersForEmailメソッドを使用することです。それは電子メールを受け取り、すでに登録されている場合はその電子メールにリンクされているプロバイダのリストで解決する約束を返します。refer here

データベースにユーザー資格情報を保存する理由はありますか?私の毎日の練習では、セキュリティ目的のためにFirebaseが提供するcreateUserWithEmailAndPasswordrefer hereと使います。権限のないアクセスを防ぐため、ルールが適切に定義されていることを確認してください。

関連する問題