检查 Firebase 中是不是存在密钥

Posted

技术标签:

【中文标题】检查 Firebase 中是不是存在密钥【英文标题】:Check if Key exists in Firebase检查 Firebase 中是否存在密钥 【发布时间】:2018-02-09 14:44:10 【问题描述】:

我一直在寻找答案,但找不到。

我正在使用 Swift 3。 我有一条路径,比方说 firebase/products,我想看看特定产品是否有一个键“MainImage”。所以很自然我会做类似的事情

Database.Child("Products").Child("ProductID").HasChild("MainImage")

但是我找不到像“HasChild”、“Exists”或任何类似的方法。有没有人可以解决这个问题?

【问题讨论】:

【参考方案1】:

没有方法可以检查,你要听那个孩子,如果它有一个 nil 值,那么它不存在。

var ref = FIRDatabase.database().reference()

let ProductID = 64646477343

let  requestListenRefo = ref.child("Products/\(ProductID)/MainImage")

    requestListenRefo.observe(FIRDataEventType.value, with:  (snapshot) in  

       let value = snapshot.value as? String

        if(value == nil)
        
            // doesn't exist
        

     )

【讨论】:

requests/Value 是我的特定产品的路径吗?这段代码很难看懂 我可以用“String”代替“NSString”吗? 我现在正在尝试,有一些调试要做。我会尽快在这里写结果【参考方案2】:

有一种方法可以使用snapshot.exists()检查快照是否存在

斯威夫特

dbRef = FIRDatabase.database().reference()

dbRef.child("Users/user1").observeSingleEvent(of: .value, with:  (snapshot) in
    if snapshot.exists()
        print("user1 exists")
    else
        print("user1 exists doesn't exists")
    
)

【讨论】:

以上是关于检查 Firebase 中是不是存在密钥的主要内容,如果未能解决你的问题,请参考以下文章

检查firebase数据库中是不是存在值

如何检查文件是不是存在于 Firebase 存储中?

Flutter & Firebase:如何检查某个项目是不是存在于 Firebase 文档中的数组中

获取现有的 firebase 子密钥

Firebase Phone Auth 在发布版本中不起作用

如何检查用户是不是存在于 Firebase 中?