我想查询所有的真/假值。
我当前的代码是;
let resultsRef = Database.database().reference().child("user_results").child(userID)
let query = resultsRef.queryOrderedByKey().queryEqual(toValue: "false")
query.observeSingleEvent(of: .value, with: { (snapshot) in
userID是“MyRQOZ ...”
打印快照没有给我任何帮助。但是,如果我这样做
.queryLimited(toFirst: 1)
我得到了我想要的快照。
["yhgeZLXJhuXKmbnK1eRwkC4xmO84": false]
我相信我的参考资料我需要走得更远。但我不知道id会是什么。
答案 0 :(得分:0)
您只是查询第一个事件
observeSingleEvent
尝试
query.observe(.childAdded, with: { (snapshot) in
并添加一个if语句来捕获值
(编辑)在您已经拥有的原始代码下添加此If语句,如下所示:
let resultsRef = Database.database().reference().child("user_results").child(userID)
let query = resultsRef.queryOrderedByKey().queryEqual(toValue: "false")
query.observeSingleEvent(of: .value, with: { (snapshot) in
if let trueOrFalse = snapshot.value as? [String: AnyObject] {
for (ke, value) in trueOrFalse {
if value as! String == "false" {
// 'ke' is now all of the keys where the value so you could do something like...
print(ke) //and it will give you the keys that have false as the value.