如何在flutter中按日期将数据从firestore排序到地图

Maa*_*Jkr 2 object firebase flutter google-cloud-firestore

我正在尝试将 Firestore 中的事件列表排序到地图中。像这样

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

我有 Firestore 数据文档作为具有字段的事件

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'
Run Code Online (Sandbox Code Playgroud)

每个在不同的文件中

我怎样才能使用 firebase 实现这些

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

Run Code Online (Sandbox Code Playgroud)

我想将此 damap 变量数据设为 _events 以上格式,我该怎么做

Ren*_*nec 10

由于您使用YYYY-MM-DD格式存储日期,因此您可以按字典顺序降序或升序对这些字符串进行排序,然后您可以使用该orderBy方法,如下所示:

Firestore.instance
          .collection('${_username.toLowerCase()}-orders')
          .orderBy('date', descending: true)
          .snapshots()
          .listen((data) {...})
Run Code Online (Sandbox Code Playgroud)