如何使用flutter firestore过滤和显示每个集合的最大值



我搜索一个解决方案,从所有集合中提取所有最大值

我有一个类似的消防仓库结构

Collection      document          data

2020-08-01      user1       votes:1, data_user1
user4       votes:4, data_user4     // =>win
user8       votes:2, data_user8
2020-08-02      user11      votes:3, data_user11    // =>win
user12      votes:2, data_user12
user17      votes:1, data_user17
2020-08-03      user21      votes:3, data_user21    // =>win
user23      votes:2, data_user23

所以我尝试过滤并进入一个列表中所有获胜的数据用户

My_win_list:[
user4   :   data_user4
user11  :   data_user11
user21  :   data_user21
]

您可以使用排序:

FirebaseFirestore.instance
.collection('2020-08-01')
.orderBy('votes', descending: true)
.limit(1)
.get()
.then(...);

您可以轻松地循环浏览所需的集合,因为它们似乎是日期。您可以使用Future.wait同时运行所有promise。

最新更新