为什么Firebase数据库queryEqualToValue不起作用?

时间:2016-07-06 09:20:34

标签: ios swift firebase-realtime-database

我使用以下代码构建了一个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
    ...
}

此处的块永远不会被调用。为什么不?我希望这些调用是相同的(除了第一个按位置排序)。

1 个答案:

答案 0 :(得分:0)

我似乎应该在example.com上调用observeSingleEventOfType,而不是pointRef本身。更新的代码:

query

虽然这并不能解释为什么第一个代码确实有效,但第二个代码没有用。