gpt4 book ai didi

javascript - react native firebase 检查用户是否已存在于实时数据库中

转载 作者:行者123 更新时间:2023-11-30 19:32:01 25 4
gpt4 key购买 nike

我需要检查用户名是否已经存在于实时数据库中,然后提示用户选择另一个用户名。它一直说找不到。我认为这是因为我的数据是如何嵌套的。

enter image description here

注册.js

const { email, username, password } = this.state;

await firebase
.auth()
.createUserWithEmailAndPassword(email, password)
.then(async user => {
console.log('Data created', user);
let rootRef = firebase.database().ref()

rootRef.child("users")
.orderByChild("username")
.equalTo(username)
.once("value")
.then(snapshot => {
if (snapshot.exists()) {
let userData = snapshot.val()
console.log(userData)
Alert.alert('username is taken')
return userData;
}else {
console.log('not found')

}
})

最佳答案

您正在创建一个用户,然后检查该用户是否存在。在创建用户之前检查用户是否存在。

const { email, username, password } = this.state;

let rootRef = firebase.database().ref();

rootRef
.child('users')
.orderByChild('username')
.equalTo(username)
.once('value')
.then(snapshot => {
if (snapshot.exists()) {
let userData = snapshot.val();
console.log(userData);
Alert.alert('username is taken');
return userData;
} else {
console.log('not found');
firebase
.auth()
.createUserWithEmailAndPassword(email, password)
.then(async user => {
console.log('Data created', user);
});
}
});

关于javascript - react native firebase 检查用户是否已存在于实时数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56334485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com