按最新顺序添加到数据库

时间:2019-05-23 13:30:42

标签: firebase flutter google-cloud-firestore

我有一个包含不同事件的数据库,我希望能够根据将这些事件添加到数据库中的时间来过滤这些事件。我是否必须为此添加一个新字段,或者Firebase是否具有某些功能?

var streamer = Firestore.instance.collection('events');

return StreamBuilder<QuerySnapshot>(
  stream: streamer.orderBy('date').snapshots(),

这是我用来过滤事件何时发生的工具。

编辑:

我认为你误解了我。我的意思不是按相反的顺序对事件进行排序。我想按事件添加到数据库的日期进行排序。假设我的数据库包含2个这样的事件:

事件X,日期:21 / 5-19

事件Y,日期25 / 5-19

现在,我将事件Z添加到数据库中,如果我们按降序排序,则会得到此信息:

事件Y,日期25 / 5-19

事件Z,日期23 / 5-19

事件X,日期:21 / 5-19

相反,我想对最后添加的项目进行排序,因此对我的数据库进行排序如下:

事件Z,日期23 / 5-19

事件Y,日期25 / 5-19

事件X,日期:21 / 5-19

由于事件Z是数据库中最新添加的事件。

1 个答案:

答案 0 :(得分:0)

您要在orderBy中指定降序。

以下代码应为您工作:

var streamer = Firestore.instance.collection('events');

return StreamBuilder<QuerySnapshot>(
  stream: streamer.orderBy('date', descending: true).snapshots(),