繁体   English   中英

如何使用 StreamBuilder 显示我的 Cloud firestore 数据库中一个特定文档的数据?

[英]How do I use StreamBuilder to display the data from ONE specific document in my Cloud firestore database?

我正在构建一个 flutter 应用程序,它主要跟踪用户收集的交易卡。 我正在使用 Firestore 作为我的数据库。 我在网上找到了很多关于如何循环浏览集合并将其显示为列表的内容,但我只想访问特定用户的数据。 我的数据库目前有一个名为 User_data 的集合。 在这个集合中,每个用户都有一个文档,由用户的 uid 标识,在注册时提供。 在每个用户文档中,都有用户的数据,例如他们的姓名、email,以及他们拥有的交易卡列表。

我想制作一个页面,显示当前登录用户拥有的卡片列表。我在网上找到的大多数解决方案都是从集合中的所有文档创建列表。 我正在尝试按如下方式使用 StreamBuilder:

StreamBuilder(
      stream: FirebaseFirestore.instance.collection('user_data').snapshots(),
      builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
        if (!snapshot.hasData) {
          return Center(
            child: CircularProgressIndicator(),
          );
        } else {

但是,上面解决方案中的 stream 给了我所有文件,而不是当前用户的文件。 我可以做类似的事情吗: FirebaseFirestore.instance.collection('user_data').snapshots(uid)其中 uid 是当前用户的唯一 ID,这样我只能获取他们的数据?

你实际上可以这样做:

FirebaseFirestore.instance
        .doc(yourDocId)
        .snapshots()

这将为您的文档提供一个 stream。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM