iOS Firebase获取值等于某事物的数据

时间:2017-11-13 21:32:42

标签: ios swift firebase firebase-realtime-database

如何从firebase获取swift3中的数据,其中值等于某个值。

在MySQL "SELECT * FROM users WHERE type = 'brown'";中如何在Firebase中编写where部分?

我有这个DB

enter image description here

我想从month == currentMonth(我有一个currentMonth变量)获取其中的所有数据

2 个答案:

答案 0 :(得分:2)

你可以Query这样:

let ref = Database.database().reference()
ref.child("Budget")
    .queryOrdered(byChild: "Month")
    .queryEqual(toValue: "November")
    .observe(.value, with: { (snapshot: DataSnapshot) in

        var array:[Budget] = []

        for budgetChild in snapshot.children {
            let budgetSnapshot = budgetChild as! DataSnapshot
            let budgetDictionary = budgetSnapshot.value as! [String:String]

            let budget: Budget = Budget()
            budget.description_ = budgetDictionary["Description"]
            budget.month = budgetDictionary["Month"]
            budget.type = budgetDictionary["Type"]
            budget.value = budgetDictionary["Value"]

            array.append(budget)
        }
    })

答案 1 :(得分:0)

据我所知,firebase实时数据库不支持这样的查询。相反,您需要调用整个参考'预算',然后在您的应用中本地过滤它。

FireStore显然有更好的查询支持,尽管它处于测试阶段。