iOS Firebase 获取值等于某物的数据
Posted
技术标签:
【中文标题】iOS Firebase 获取值等于某物的数据【英文标题】:iOS Firebase get data where value equals to something 【发布时间】:2017-11-13 21:32:42 【问题描述】:如何从值等于某个值的 firebase 获取 swift3 中的数据。
在 mysql 中,"SELECT * FROM users WHERE type = 'brown'";
如何在 Firebase 中编写 where
部分?
我有这个数据库
我想从中获取所有数据,其中month
== currentMonth
(我有一个currentMonth
变量)
【问题讨论】:
【参考方案1】:你可以这样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)
)
【讨论】:
【参考方案2】:据我所知,firebase 实时数据库不支持这样的查询。相反,您需要调用整个参考“预算”,然后在您的应用程序中进行本地过滤。
FireStore 显然具有更好的查询支持,尽管它处于测试阶段。
【讨论】:
以上是关于iOS Firebase 获取值等于某物的数据的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Swift 5 (iOS) 从 Firebase 数据库中获取和打印单个值
JSR 303 验证,如果一个字段等于“某物”,则这些其他字段不应为空