【问题标题】:How to get a specific document from QuerySnapshot in Flutter Firestore?如何从 Flutter Firestore 中的 QuerySnapshot 获取特定文档?
【发布时间】:2021-10-22 07:05:53
【问题描述】:

各位,我如何从 QuerySnapshot.docs 中检索特定文档?

我曾经得到一个集合的所有文档。 在一些代码之后,我想通过它的 ID 从该集合中获取一个文档。

我想专门从这个 QuerySnapshot 中获取该文档,因为我不想在后面的代码中被 await 弄乱。

如果我可以一次获取所有文档,为什么我以后要使用异步调用逐个获取每个文档,这会浪费我的时间?

事情看起来像这样:

QuerySnapshot usersSnapshot = await FirebaseFirestore.instance.collection("users").get();

//
//some code
//

DocumentSnapshot userDoc = usersSnapshot.docs.doc("user12345");

我想获取 ID 为 user12345 的文档。 我可以在 QuerySnapshot 上应用类似 .doc(ID) 的功能吗??

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    不,QuerySnapshot 上没有这种方法。您必须通过在docs property 中迭代查询结果来定位您想要的文档,并检查每个 DocumentSnapshot 是否有您要查找的 ID。

    如果您想让自己更轻松地进行重复查找,您可以迭代文档列表,并构建由 ID 键入的文档快照的 Map。查询您想要的每个文档的地图。

    【讨论】:

      猜你喜欢
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      相关资源
      最近更新 更多