firebase 如何使用Cloud FireStore中的文档ID访问文档字段?

qv7cva1a  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(197)

我有一个

Querysnapshot snapshot

我可以提供一个索引并访问文档的字段,如下所示:

snapshot.data!.docs[index]

但是,我想访问文档“thisParticularDocument”的字段,这是Cloud Firestore中文档的ID(名称)。
我要用

snapshot.data!.docs[thisParticularDocument]

但这并不起作用,因为只能为 docs 提供索引。
我想要一个解决方案,最好不涉及异步等待。

wnrlj8wa

wnrlj8wa1#

您可以通过如下方式查找具有特定id的文档,而无需发出新的异步请求:

snapshot.data!.docs.firstWhere((doc) => doc.id == "the document Id").data() as Map<String, dynamic>;

这将从QuerySnapshot中获取特定文档。

dm7nw8vv

dm7nw8vv2#

当你得到一个QuerySnapshot时,你会得到它的所有文档,包括引用和数据。
这样你就可以得到一个特定的文档,就像你说的那样:

snapshot.data!.docs[index]

你可以这样得到文档的数据:

snapshot.data!.docs[index].data() as Map<String, dynamic>

那么你就可以得到它里面的特定字段,如下所示:

(snapshot.data!.docs[index].data() as Map<String, dynamic>)["thisParticularDocument"]

就是这样,如果该字段的值存在,它将被正确返回。

相关问题