检查Firebase中是否存在密钥

时间:2018-02-09 14:44:10

标签: ios iphone swift xcode firebase

我一直在寻找答案而找不到。

我正在使用Swift 3。 我有一条路径,比方说firebase / products,我想知道特定产品是否有一个关键字“MainImage”。所以我自然会做像

这样的事情
Database.Child("Products").Child("ProductID").HasChild("MainImage")

但是没有像“HasChild”或“Exists”这样的方法或者我能找到的任何类似方法。有人有解决方案吗?

2 个答案:

答案 0 :(得分:1)

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

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
        }

     })

答案 1 :(得分:1)

有一种方法可以使用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")
    }
})