以下代码检查ID U1EL5623 是否存在 但是我需要一个额外的条件 如果fName等于 John
,它应该仅返回true有没有办法根据另一个项目的值来检查某个值是否存在?
CODE
ref.child("users").orderByChild("ID").equalTo("U1EL5623").once("value",snapshot => {
const userData = snapshot.val();
if (userData){
console.log("exists!");
}
});
数据
{
"users": {
"-KKUmYgLYREWCnWeHCvO": {
"fName": "Peter",
"ID": "U1EL9SSUQ",
"username": "peter01"
},
"-KKUmYgLYREWCnWeHCvO": {
"fName": "John",
"ID": "U1EP7532",
"username": "john.doe"
},
"-UIgmYgLWDRWCnWeHCpF": {
"fName": "Alex",
"ID": "U1EL5623",
"username": "Alex.JP"
}
}
}
答案 0 :(得分:2)
获得值后,您可以循环遍历所有结果及其对象,然后您还可以检查fName是否等于John:
ref.child("users").orderByChild("ID").equalTo("U1EL5623").once("value",snapshot => {
const userData = snapshot.val();
snapshot.forEach(function(childSnapshot) {
var childKey = childSnapshot.key;
var childData = childSnapshot.val();
if (userData && childData.fName === 'John'){
console.log("exists!");
}
});