如何检查Firebase数据库中的变量?

时间:2017-09-11 06:14:01

标签: firebase swift3 firebase-realtime-database

在我的应用中,我有一个UISearchBar,可以返回Google Places API的结果。当我点击结果时,我将place.id(给定一个新的变量名placeId)传递给第二个视图控制器,我想在那里进行检查。

对于这个应用程序,我手动将一个A / B值分配给Firebase数据库中的多个位置,我希望能够检查我点击的搜索结果是否具有值“A”或值“B”基于它的place.id

这是我的代码:

    let productRef = rootRef.child("id")
    productRef.observeSingleEvent(of: .value, with: { (snapshot) in
        if(snapshot.exists()){

            let placeId = snapshot.value as? String

            if(self.IDLabel == placeId){
                print("A")
                }
        }
    }) { (error) in
        print(error.localizedDescription)
    }

我是否在正确的轨道上?我应该从哪里开始检查我点击的结果的place.id在Firebase中的值是“A”还是“B”?

2 个答案:

答案 0 :(得分:0)

我发现我在if语句中引用了错误的变量。 self.placeId是视图控制器中其他位置的空变量。当我将其更改为IDLabel(我想检查的正确变量)时,它完美无缺。

答案 1 :(得分:0)

您将数据存储为"键,值"配对,但只检索密钥。最好通过设置Query类来使用equalto()函数。 Firebase文档中的详细信息 - > https://firebase.google.com/docs/database/web/lists-of-data#filtering_data