【问题标题】:Firestore get QueryDocumentSnapshot from QuerySnapshot by idFirestore 通过 id 从 QuerySnapshot 获取 QueryDocumentSnapshot
【发布时间】:2020-07-20 11:16:19
【问题描述】:

如果我有一个QuerySnapshot,我可以像这样得到一个特定的QueryDocumentSnapshot

db.collection("collection-name").onSnapshot(querySnapshot => {
  const docId = "myDocId";
  const myDoc = querySnapshot.docs.find(doc => doc.id === docId);
});

有没有更直接的方法,避免不得不使用 find,例如(在伪代码中):

db.collection("collection-name").onSnapshot(querySnapshot => {
  const docId = "myDocId";
  const myDoc = querySnapshot.get(docId);
});

我在 API ref 中找不到任何内容,但这似乎是一个常见的用例。

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    没有比这更简洁的了。正如您从 API 文档中看到的那样,QuerySnapshot 没有为结果集提供基于地图的接口。 querySnapshot.docs 是一个数组,并且是提供文档数据的唯一方式,因此您至少必须对该数组进行一些迭代才能找到您要查找的内容。

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 1970-01-01
      • 2021-10-22
      • 2021-01-28
      • 2020-10-21
      • 2018-04-23
      • 2019-08-27
      • 2019-01-13
      相关资源
      最近更新 更多