我使用以下代码构建了一个FIRDatabaseQuery
:
let ref = FIRDatabase.database().reference()
let pointRef = ref.child("points")
let query = pointRef.queryOrderedByChild("location").queryEqualToValue(locationName)
query.observeSingleEventOfType(FIRDataEventType.ChildAdded, withBlock: { (snapshot) in
...
}
该块被调用,但我想通过每个Point中的另一个字段来排序我的结果。由于无法将两个queryOrderedByChild
链接在一起,我将代码更改为以下内容(我稍后将链接排序查询)。
let ref = FIRDatabase.database().reference()
let pointRef = ref.child("points")
let query = pointRef.queryEqualToValue(locationName, childKey: "location")
query.observeSingleEventOfType(FIRDataEventType.ChildAdded, withBlock: { (snapshot) in
...
}
此处的块永远不会被调用。为什么不?我希望这些调用是相同的(除了第一个按位置排序)。
答案 0 :(得分:0)
我似乎应该在example.com
上调用observeSingleEventOfType
,而不是pointRef
本身。更新的代码:
query
虽然这并不能解释为什么第一个代码确实有效,但第二个代码没有用。