我一直在尝试使用他们的指南来查询我的Firebase数据库,但无法正确返回结果。如果有人指出我在做什么错或纠正我,这将非常有帮助。
这是我的代码片段
let ref = DataService.dataService.BASE_REF
let myQuery = (ref.child("testing")).queryOrderedByKey()
let MyQuery1 = (ref.child("testing")).queryOrderedByValue()
let MyQuery2 = (ref.child("testing")).queryEqualToValue("Alphaa")
let MyQuery3 = (ref.child("testing")).queryEqualToValue("Alphaa", childKey: "Alpha")
myQuery.observeSingleEventOfType(.Value, withBlock: {
snapshot in
print("Ordered By Key")
print(snapshot.value)
})
MyQuery1.observeSingleEventOfType(.Value, withBlock: {
snapshot in
print("Ordered by Value")
print(snapshot.value)
})
MyQuery2.observeSingleEventOfType(.Value, withBlock: {
snapshot in
print("Value Equal")
print(snapshot.value)
})
MyQuery3.observeSingleEventOfType(.Value, withBlock: {
snapshot in
print("Ordered by Value & Key")
print(snapshot.value)
})
这是结果屏幕,按键排序和按值排序都不会对其进行排序。
Optional({
Alpha = Gammaa;
Alright = 24;
Beta = Betaa;
Delta = Deltaa;
Epsilon = Epsilonn;
Eta = Etaa;
Gamma = Alphaa;
Iota = Iotaa;
Lets = 3;
Okay = 1;
Theta = Thetaa;
Zeta = Zetaa;
beep = 4;
boop = 11;
})
值相等和按值和键排序都给我可选(空)
JSON表值
"testing" : {
"Alpha" : "Gammaa",
"Alright" : 24,
"Beta" : "Betaa",
"Delta" : "Deltaa",
"Epsilon" : "Epsilonn",
"Eta" : "Etaa",
"Gamma" : "Alphaa",
"Iota" : "Iotaa",
"Lets" : 3,
"Okay" : 1,
"Theta" : "Thetaa",
"Zeta" : "Zetaa",
"beep" : 4,
"boop" : 11
}
我正在尝试返回相等的值或从服务器端而不是在客户端对它进行排序。
我继续测试并更改了获得结果的方式
MyQuery1.observeSingleEventOfType(.Value, withBlock: {
snapshot in
print("************")
print("Ordered by Value")
for snap in snapshot.children {
print(snap);
}
})
这给了我想要的值:D和键的结果
Ordered by Value
Snap (Okay) 1
Snap (Lets) 3
Snap (beep) 4
Snap (boop) 11
Snap (Alright) 24
Snap (Gamma) Alphaa
Snap (Beta) Betaa
Snap (Delta) Deltaa
Snap (Epsilon) Epsilonn
Snap (Eta) Etaa
Snap (Alpha) Gammaa
Snap (Iota) Iotaa
Snap (Theta) Thetaa
Snap (Zeta) Zetaa
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句