У меня есть приложение чата, в котором я хочу:
- получить последние 25 сообщений
- отсортировано по возрастанию.
Код: (не работает)
firebaseFirestore.collection("chats")
.document(chatUid).collection("allchats")
.orderBy("chat_datesent",Query.Direction.DESCENDING)
.limit(25)
.orderBy("chat_datesent",Query.Direction.ASCENDING)
.addSnapshotListener(new EventListener<QuerySnapshot>() {
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots,Nullable FirebaseFirestoreException e) {
if (queryDocumentSnapshots != null) {
String dated;
for (DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {
//body
}
}
});
Здесь я попытался использовать первый OrderBy
только для того, чтобы получить последние 25 документов, потому что limittolast()
невозможно в пожарном депо.
Как мне этого добиться? Нужно ли использовать составную индексацию?
Пожалуйста, помогите.