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