Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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

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
Javascript 如何验证react native和firebase中是否已存在用户名?_Javascript_Firebase_React Native - Fatal编程技术网

Javascript 如何验证react native和firebase中是否已存在用户名?

Javascript 如何验证react native和firebase中是否已存在用户名?,javascript,firebase,react-native,Javascript,Firebase,React Native,这是我代码的一部分。。。我想检查firebase中的数据库中是否已经存在用户名 try { await firebase.auth().createUserWithEmailAndPassword(user.email, user.password); const uid = Firebase.getCurrentUser().uid; let profilePhotoUrl = "default

这是我代码的一部分。。。我想检查firebase中的数据库中是否已经存在用户名

        try {
            await firebase.auth().createUserWithEmailAndPassword(user.email, user.password);
            const uid = Firebase.getCurrentUser().uid;

            let profilePhotoUrl = "default";



            await db.collection("users").doc(uid).set({
                username: user.username,
                email: user.email,
                profilePhotoUrl
            })
            code............
  
    },```

Firebase将为您处理条目的复制

await firebase.auth()
  .createUserWithEmailAndPassword('jane.doe@example.com', 'SuperSecretPassword!')
  .then(() => {
    console.log('User account created & signed in!');
  })
  .catch(error => {
    if (error.code === 'auth/email-already-in-use') {
      console.log('That email address is already in use!');
    }

    if (error.code === 'auth/invalid-email') {
      console.log('That email address is invalid!');
    }

    console.error(error);
  });

如果我想验证用户名?我怎么做?我不明白你的问题@CookieDeveloper,请详细说明。如果你想检查用户名,那么你需要查询firestore数据库,以检查是否存在具有该用户名的用户,因为你似乎正在将其写入“用户”集合。OP询问Firebase中的重复数据(他们称之为“用户名”)这与重复的用户身份验证无关,重复的用户身份验证就是这个答案所要解决的。是的,如果有人知道我如何做到这一点,请告诉我,谢谢。你会对此有点困惑。如果数据库不允许读取数据,除非用户经过身份验证,则无法查询重复的用户名。因此,唯一的选择是创建一个只包含用户名的公共可读节点,因此在尝试创建具有特定用户名的用户之前,您可以检查它。否则,您可以允许用户创建其帐户,然后选择用户名。这样至少可以对其进行身份验证,这样您就可以防止用户节点被公开访问。