I searched all Internet, Firebase APIs, SO and can't find answer to my question.
I am storing data in Firebase storage.
Object "Comment" with attribute "timestamp". When I push data from device to Firebase I'm populating "timestamp" with currentTime and store in long data type.
When I do retrieving data with firebaseRef.orderByChild("timestamp").limitToLast(15) result is not sorting how I expected.
I even played around with rules and no result:
Firebase can order the items in ascending order by a given property and then returns either the first N items (
limitToFirst()) or the last N items (
limitToLast()). There is no way to indicate that you want the items in descending order.
There are two options to get the behavior you want:
Use a Firebase query to get the correct data, then re-order it client-side
Add a field that has a descending value to the data
For the latter approach, it is common to have a inverted timestamp.
-1 * new Date().getTime();