【问题标题】:How Can I Get Document name from AsyncSnapshot<QuerySnapshot>如何从 AsyncSnapshot<QuerySnapshot> 获取文档名称
【发布时间】:2021-11-02 16:13:56
【问题描述】:

目标

AsyncSnapshot&lt;QuerySnapshot&gt;获取文档名称

我做了什么

在此集合users 中有许多名称为uid 的文档。 使用FutureBuilder 得到AsyncSnapshot&lt;QuerySnapshot&gt;

              FutureBuilder(
                future: FirebaseFirestore.instance
                    .collection("users")
                    .where('type', arrayContainsAny: ["Game", "Movie"])
                    .get(),
                builder: (BuildContext context,
                    AsyncSnapshot<QuerySnapshot> snapshot) {
                  if (snapshot.hasError) {
                    return Text(snapshot.error.toString());
                  }

                  if (snapshot.connectionState == ConnectionState.done) {
                    String uid = ...... // Want to get document id (= uid)

通过使用此快照,可以获得每个文档的字段。 但当然这些不包括他们自己的名字。

如何从AsyncSnapshot&lt;QuerySnapshot&gt; 获取文档 ID?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    snapshot.data!.docs 可以包含零个、1 个或多个符合条件的文档。这是文档快照列表。

    例如,第一个结果可以在snapshot.data!docs[0] 中。从这里获取文档 ID(在您的情况下为 uid)只需使用 snapshot.data!docs[0].id

    【讨论】:

      猜你喜欢
      • 2020-12-19
      • 2021-08-03
      • 1970-01-01
      • 2021-10-22
      • 2018-01-08
      • 2022-11-19
      • 1970-01-01
      • 2021-03-01
      • 2019-04-24
      相关资源
      最近更新 更多