Как отсортировать данные из пожарного магазина на карту по дате в флаттере - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь отсортировать список событий в моем пожарном депо в карту. как это

Map<DateTime, List> _events;
_events = {
DateTime.parse('2019-06-30'): ['Event 1', 'Event 2'],
DateTime.parse('2019-06-20'): ['Event 3', 'Event 4'],
}

у меня есть документы с данными пожарного депо как события которые имеют поля

name: 'Event 1'
date: '2019-06-20'

name: 'Event 2'
date: '2019-06-30'

name: 'Event 3'
date: '2019-06-20'

name: 'Event 4'
date: '2019-06-20'

каждый в разных документах

Как я могу сделать это, используя firebase

    QuerySnapshot querySnapshot = await Firestore.instance
        .collection('${_username.toLowerCase()}-orders')
        .orderBy('date', descending: true)
        .getDocuments();
    var damap = querySnapshot.documents;
    print('damap $damap');

Я хочу сделать эти переменные данных дампа в формате _events, как указано выше. Как мне это сделать

1 Ответ

2 голосов
/ 20 июня 2019

Поскольку вы храните даты в формате YYYY-MM-DD, вы можете отсортировать эти строки лексикографически по убыванию или по возрастанию, а затем использовать метод orderBy следующим образом:

Firestore.instance
          .collection('${_username.toLowerCase()}-orders')
          .orderBy('date', descending: true)
          .snapshots()
          .listen((data) {...})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...