我有一个Firebase,其结构如下:
-
"zipcodes"
-
12345
-
1
-
"city":"test"
-
"state":"XX"
-
98765
-
2
-
"city":"test2"
-
"state":"AA"
-
3
-
"city":"test3"
-
"state":"BB"
我试图通过用户的邮政编码查询我的数据库;但是,当我尝试查看它找到的快照时,它为空 . 这是我目前的代码:
func firebaseSearch(zipCode: String) {
let conditionRef = FIRDatabase.database().reference().child("zipcodes")
let query = conditionRef.queryEqualToValue(zipCode)
query.observeSingleEventOfType(.Value, withBlock: {snapshot in
print(snapshot.value)
for child in snapshot.children {
print(child)
}
})
}
当我运行代码时,我得到了这个:
(/zipcodes {
ep = 12345;
sp = 12345;
})
Optional(<null>)
我的数据库有大约77,000个条目,所以我担心迭代所有条目并试图找到具有我的zipCode值的子将花费大量时间,所以我试图使用查询功能来查看它是否更快 . 我感谢任何帮助,非常感谢!
1 回答
您不需要查询,请使用
.child(zipCode)
而不是.queryEqualToValue(zipCode)
. 这将返回预期的结果 .希望这可以帮助!!