firebase中是否有方法可以检查数据库中是否存在值?Firebase有方法.exists(),但根据文档,它只检查键。
我有以下结构:
{
"users": {
"-KKUmYgLYREWCnWeHCvO": {
"fName": "Peter",
"ID": "U1EL9SSUQ",
"username": "peter01"
},
"-KKUmYgLYREWCnWeHCvO": {
"fName": "John",
"ID": "U1EL5623",
"username": "john.doe"
}
}
}
我想检查值为U1EL5623
的ID是否存在。
4条答案
按热度按时间tyky79it1#
exists()
方法是firebase查询返回的snapshot
对象的一部分。因此请记住,您无法避免检索数据以验证它是否存在。观察结果:
如果你在一个不同的场景中,你有确切的引用路径,对象可能在哪里,你不需要添加
orderByChild
和equalTo
。在这种情况下,您可以直接获取对象的路径,这样就不需要从firebase进行任何搜索处理。此外,如果你知道对象必须具有的属性之一,你可以像下面的代码片段那样做,让它只检索这个属性,而不是整个对象。这将是一个更快的检查。n9vozmp42#
这是一个类似的解决方案,如果你想检查一个电子邮件是否存在于FireBase
nlejzf6q3#
我还不能发表评论,所以我发布了一个答案:
要添加到建议的答案,如果您想查询是否存在任何用户,您可以尝试通过添加.limitToFirst(1)或.limitToLast(1)来提高性能。这样,您可以将检索到的数据限制到最小值:
资料来源:https://firebase.google.com/docs/reference/js/firebase.database.Query#limitToFirst
6ss1mwsb4#
下面是我在项目的Firebasebase数据库中搜索URL值的方法: