【发布时间】:2021-01-08 08:58:49
【问题描述】:
我正在寻找一种方法来按日期合并从 Cloud Firestore 读取的数据。我的目标是读取 Cloud Firestore 中的所有文档,然后将某个日期的所有文档放在 ONE ExpansionTile 下。即每个日期一个 ExpansionTile,每个 ExpansionTile 可能包含许多单独的文档,具体取决于当天上传的数量。
我在从 Cloud Firestore 读取数据时没有遇到任何问题,但我正在努力弄清楚如何在掌握信息后按日期组织和合并文档。请记住,会有多个不同的日期,并且每个日期都有不同数量的文档。
如下图所示,我目前有三个日期相同的文档,因此在应用程序中创建它们时有三个不同的ExpansionTiles。我希望将这三个转换为一个ExpansionTile
我目前正在使用 flutter_bloc 包按日期从 Cloud Firestore 读取数据:
//Retrieves firebase data of all orders done in the past
Stream<OrderHistoryState> _loadOrderHistory() async* {
try {
_orderSubscription?.cancel();
var orderHistory = Firestore.instance
.collection('orders')
.orderBy('date', descending: true);
_orderSubscription = orderHistory.snapshots().listen(
(event) {
if (event.documents.length > 0) {
add(OrderHistoryUpdate(
documents: event.documents,
));
} else {
print("No Order to Load");
add(NoOrderHistory());
}
},
);
} catch (e) {
print("Error with Tracking Status, $e");
add(ErrorOrderHistory());
}
}
【问题讨论】:
标签: flutter google-cloud-firestore