gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:15:56 25 4
gpt4 key购买 nike

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

该 block 已被调用,但我想通过每个点中的另一个字段对结果进行排序。由于不可能将两个 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
...
}

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

最佳答案

看来我应该在 pointRef 上调用 observeSingleEventOfType,而不是 query 本身。更新后的代码:

let ref = FIRDatabase.database().reference()
let pointRef = ref.child("points")
let query = pointRef.queryEqualToValue(locationName, childKey: "location")

pointRef.observeSingleEventOfType(.ChildAdded, withBlock: { (snapshot) in
...
}

尽管这并不能解释为什么第一个代码可以工作,但第二个代码却不能。

关于ios - 为什么 Firebase 数据库 queryEqualToValue 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com