使用Ionic检查firebase中是否存在数据



我正在尝试检查firebase实时数据库中是否存在某个值。然而,它一直说它不存在。这是我的代码

check(){
var checkRef = firebase.database().ref('users');
checkRef.once('value', function(snapshot) {
if(snapshot.val().hasOwnProperty('referralCode')) {
console.log("Referral Code exist.");
}
else {
console.log("Referral Code does not exist.");
}
});


}

感谢

我正在使用Ionic 5

我认为您使用的是javascript"hasOwnProperty";方法,而您需要使用firebase提供的方法";hasChild":

// Assume we have the following data in the Database:
{
"name": {
"first": "Ada",
"last": "Lovelace"
}
}
// Determine which child keys in DataSnapshot have data.
var ref = firebase.database().ref("users/ada");
ref.once("value")
.then(function(snapshot) {
var hasName = snapshot.hasChild("name"); // true
var hasAge = snapshot.hasChild("age"); // false
});

所以在你的情况下应该是这样的:

check(){
var checkRef = firebase.database().ref('users');
checkRef.once('value', function(snapshot) {
if(snapshot.hasChild('referralCode')) {
console.log("Referral Code exist.");
}
else {
console.log("Referral Code does not exist.");
}
});

}

最新更新