使用 Flutter web 从集合中流式传输其文档及其来自 firestore 的子集合

时间:2021-03-10 18:13:45

标签: flutter google-cloud-firestore flutter-web stream-builder

我正在处理一个项目,这个特殊问题让我很难弄清楚。在后端使用 Cloud Firestore;我有包含用户列表的基本集合用户,每个用户都有一个订单列表。我想将整个用户列表及其订单流式传输到 ListView 上。查找文档树的图像 the users list of user orders

每个用户文档 ID 都是用户的 ID,您可以在此处看到 base of document tree。因为我不知道迭代时的每个文档 ID,所以它排除了修改某种未来构建器的任何选项。我的选择不多了。

下面的这段代码实际上允许我将数据库读取到每个用户的订单,但我无法将其实现到流中并在 ListView 中返回一个包含数据的小部件。可以查看该代码的结果here

Future<void> printDb() async {

_db.collection('Users').get().then((value) {
  value.docs.forEach((element) {
    _db.collection('Users').doc(element.id)
        .collection('orders').get().then((values) {
      print(values.docs.length);
      values.docs.forEach((elements) {
        if(elements.exists) {
          print('User: ${element.data()['first_Name']} Order: ${elements.data()['sell']}'
              ' ${elements.data()['sell-currency']} to buy: ${elements.data()['buy-currency']}');
        }
      });
    });
  });
});

}

如何从基本集合“用户”返回整个集合树中每个用户订单数据的 ListView?我很感激我现在能得到的任何帮助?。

0 个答案:

没有答案