Firestore 通过 id 从 QuerySnapshot 获取

如果我有一个QuerySnapshot,我可以获得QueryDocumentSnapshot这样的特定信息:


db.collection("collection-name").onSnapshot(querySnapshot => {

  const docId = "myDocId";

  const myDoc = querySnapshot.docs.find(doc => doc.id === docId);

});

是否有更直接的方法来避免必须使用查找,例如(在伪代码中):


db.collection("collection-name").onSnapshot(querySnapshot => {

  const docId = "myDocId";

  const myDoc = querySnapshot.get(docId);

});

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


繁星淼淼
浏览 98回答 1
1回答

FFIVE

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

相关分类

JavaScript