【发布时间】:2017-06-16 22:37:24
【问题描述】:
我有一个根据年龄搜索用户的查询:
self?.ref.child("users").queryOrdered(byChild: "age").queryStarting(atValue: "18").queryEnding(atValue: "25").observeSingleEvent(of: .childAdded, with: { (snapshot) in
print(snapshot)
我的 Firebase 结构是这样的:
users
-> uid1
-> age : "18"
-> name : "Lisa"
-> ...
-> uid2
-> age : "18"
-> name : "Elizabeth"
-> ...
在我的数据库中有两个人年龄:“18”。
当 queryStartingAtValue 为“18”时一切正常。
当我将 queryStartingAtValue 更改为不存在的年龄(例如“19”)时会出现问题。
确实,没有返回任何结果,数据似乎在查询中被阻塞了。
你知道这个查询有什么问题吗?
谢谢。
【问题讨论】:
-
你能解释一下“在查询中被阻塞”是什么意思吗
-
嗨!该查询不返回任何值,甚至不返回 null。没发生什么事。我尝试使用 .value 而不是 .childAdded ,当它与年龄不匹配时它返回 null 。 .childAdded 的这个问题使我无法检查 snapshot.exists () 是否存在。
标签: ios swift firebase firebase-realtime-database