I am trying to create a chat using the Firebase-UI library for Cloud Firestore. This github repository contains the relevant code which I am using. The problem comes with the order of the query.
See that the query is specified as:
Query sChatQuery = sChatCollection.orderBy("timestamp").limit(50);
However, I am getting the oldest 50 messages, instead of the newest ones, in the correct order (from old to new). On the other hand, I can use the following query:
Query sChatQuery = sChatCollection.orderBy("timestamp", Query.Direction.DESCENDING).limit(50);
and this retrieves the 50 newest messages, but in the wrong order (newest on top, oldest on bottom). Hence I do not know how to get this right.
I could locally reverse again the result from the query, but I cannot figure out how to do that (I have already gone through the FirebaseUI library with no luck).
EDIT
I have my chat
subcollection for each event in my events
collection:
events/event_doc/chat/chat_doc
And I would like to get the messages as follows:
Message 1
Message 2
Message 3
Message 4
...
With the default order I get the messages like shown above, but the limit
instructions cuts the snapshots from 1 to 50, and the Message 51
(the newest) is not being retrieved.