我想进行查询以使bookings
节点下的所有子节点包含子键TimeStampDateAndTime
,并且子节点的值在1519912278和1520689878之间。由于某种原因,它返回即使下面显示的JSON对象中的键TimeStampDateAndTime的值在此范围内,也为null 1519912278 - 1520689878.
let ref = dbRef.child("Cleaners").child(self.uidOfTextField!).child("bookings").queryOrdered(byChild: "TimeStampDateAndTime").queryStarting(atValue: 1519912278).queryEnding(atValue: 1520689878)
finalRef.observeSingleEvent(of: .value, with: { (snapshot: FIRDataSnapshot) in
print("snapshot.value is line 81 is \(snapshot.value)") //prints (<null>)
}
"Cleaners" : {
"05MSPgkP1ddhFqXDRjIB4npGEPV2" : {
"bookings" : {
"392239680" : {
"BookingAmount" : “10”,
"BookingCompleted" : "false",
"TimeStampDateAndTime" : "1520526600",
},
}
},
}
答案 0 :(得分:1)
&#34; TimeStampDateAndTime&#34;在你的情况下是一个字符串,所以它的排序不会给出预期的结果。您可以将其类型更改为Int。
答案 1 :(得分:1)
它给你null,因为它不存在,你需要做这样的事情:
queryOrdered(byChild: "TimeStampDateAndTime").queryStarting(atValue: 152).queryEnding(atValue: 152\uf8ff)
这将为您提供在开头有152个的所有TimeStampDateAndTime