I am trying to do a simple ordered query request based on epoch timestamps:
guard let user = Auth.auth().currentUser?.uid else {return}
let queryRef = Database.database().reference().child("ordersBackup").child(user).queryOrdered(byChild: "pickupCompleteAfter").queryLimited(toFirst: 1)
queryRef.observeSingleEvent(of: .childAdded, with: { (snapshot) in
print(snapshot.value)
})
Structure:
{
"UserId" : {
"UniqueId1" : {
"pickupCompleteAfter" : 1568314979000,
"name" : "Jeff"
},
"UniqueId2" : {
"pickupCompleteAfter" : 1557687779000,
"name" : "Stig"
},
"UniqueId3" : {
"pickupCompleteAfter" : "1578855779000",
"name" : "Ali"
}
}
}
It should return UniqueId2. However, I am always retrieving the same order as the structure i.e UniqueId1, UniqueId2, UniqueId3. It doesn't take the timestamp into consideration at all. What am I doing wrong?
Output:
LQ8nHi
{
orderInfo = {
deliveryCompleteAfter = 1552917600000;
deliveryCompleteBefore = 1552924800000;
pickupCompleteAfter = 156249280000;
pickupCompleteBefore = 1552492800000;
};
}
YQxeKv
{
orderInfo = {
deliveryCompleteAfter = 1552917600000;
deliveryCompleteBefore = 1552924800000;
pickupCompleteAfter = 1557687779000;
pickupCompleteBefore = 1552492800000;
};
}
ibIPO9
{
orderInfo = {
deliveryCompleteAfter = 1553090400000;
deliveryCompleteBefore = 1553097600000;
pickupCompleteAfter = 1578855779000;
pickupCompleteBefore = 1552665600000;
};
}