检查Key是否有Firebase中的Key - JS
Check if Key has Key in Firebase - JS
我有一个结构如下的 Firebase 实时数据库:
users
userid1
name: "name1"
email: "email1"
specialValue: "special"
userid2
name: "name2"
email: "email2"
我想检查一个用户(我已经有一个用户 ID)是否有 specialValue
密钥。所以这应该 return 对 userid1 为真,对 userid2 为假。
我试过这个:
var check = firebase.database().ref('users').orderByKey().equalTo(userid).once("value", function (snapshot) {
if (snapshot.exists()) {
console.log("key exists");
} else {
console.log("key doesn't exist");
}
});
如果您知道密钥,则不需要查询节点,因此这应该可行(并且一旦您有很多节点,速度会更快):
firebase.database().ref('users').child(userid).once("value").then((snapshot) => {
if (snapshot.exists()) {
console.log("exists");
} else {
console.log("doesn't exist");
}
});
除了更短更快之外,这还保证只提供一个快照作为结果,其中一个查询可能有多个结果。即使您的查询只会匹配一个结果,API 仍然是 returns 作为列表的一个结果,您必须使用 forEach
.
循环它
我有一个结构如下的 Firebase 实时数据库:
users
userid1
name: "name1"
email: "email1"
specialValue: "special"
userid2
name: "name2"
email: "email2"
我想检查一个用户(我已经有一个用户 ID)是否有 specialValue
密钥。所以这应该 return 对 userid1 为真,对 userid2 为假。
我试过这个:
var check = firebase.database().ref('users').orderByKey().equalTo(userid).once("value", function (snapshot) {
if (snapshot.exists()) {
console.log("key exists");
} else {
console.log("key doesn't exist");
}
});
如果您知道密钥,则不需要查询节点,因此这应该可行(并且一旦您有很多节点,速度会更快):
firebase.database().ref('users').child(userid).once("value").then((snapshot) => {
if (snapshot.exists()) {
console.log("exists");
} else {
console.log("doesn't exist");
}
});
除了更短更快之外,这还保证只提供一个快照作为结果,其中一个查询可能有多个结果。即使您的查询只会匹配一个结果,API 仍然是 returns 作为列表的一个结果,您必须使用 forEach
.