gpt4 book ai didi

swift - 排序不适用于 firebase 实时数据库中的 queryOrdered

转载 作者:行者123 更新时间:2023-11-28 13:26:22 24 4
gpt4 key购买 nike

  "users":{
"steve_rodriquez":{
"ch1":{
"timestamp":2
},
"ch2":{
"timestamp":1
},
"ch3":{
"timestamp":4
},
"ch4":{
"timestamp":3
}
}
}

规则定义为

 "rules": {
".read": true,
".write": true,
"users":{
".indexOn": ["timestamp"]
}
}

当我尝试根据时间戳排序时,它不起作用。例如,我添加了 1,2,3,4

这是我的客户端代码

ref = Database.database().reference()
(ref.child("users").child("steve_rodriquez")).queryOrdered(byChild: "timestamp").observeSingleEvent(of: .value, with: {(snapshot) in
print(snapshot.value as Any)
})

最佳答案

当您从 Firebase 检索数据时,快照包含键、值、所有子节点的顺序。但是当您调用 snapshot.value 时,它需要将其转换为 Dictionary,其中只有键和值的空间。所以此时关于子节点顺序的信息丢失了。

要维护子节点的顺序,请遍历 snapshot.children,如 listening for child events 上的文档所示。 ,例如这个答案:Iterate over snapshot children in Firebase

关于swift - 排序不适用于 firebase 实时数据库中的 queryOrdered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58295915/

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