Я пытаюсь создать чат, используя библиотеку Firebase-UI для Cloud Firestore. Этот репозиторий github содержит соответствующий код, который я использую.Проблема связана с порядком запроса.
Убедитесь, что запрос указан как:
Query sChatQuery = sChatCollection.orderBy("timestamp").limit(50);
Однако я получаю самые старые 50 сообщений вместо самых новых вправильный порядок (от старого к новому).С другой стороны, я могу использовать следующий запрос:
Query sChatQuery = sChatCollection.orderBy("timestamp", Query.Direction.DESCENDING).limit(50);
, чтобы получить 50 новых сообщений, но в неправильном порядке (самые новые сверху, самые старые снизу).Следовательно, я не знаю, как сделать это правильно.
Я мог бы снова локально отменить результат запроса, но я не могу понять, как это сделать (я уже прошел через библиотеку FirebaseUI без удачи).
РЕДАКТИРОВАТЬ
У меня есть chat
подколлекция для каждого события в моей коллекции events
:
events/event_doc/chat/chat_doc
И я хотел бы получить сообщения следующим образом:
Message 1
Message 2
Message 3
Message 4
...
При заказе по умолчанию я получаю сообщения, подобные показанным выше, ноинструкция limit
сокращает моментальные снимки с 1 до 50, а Message 51
(самый новый) не восстанавливается.