首页 > 解决方案 > Firebase 无需在 querySnapshot 上运行 forEach 循环即可获取集合文档数据

问题描述

在 firebase 中,当您获取多个文档时,您需要遍历 querySnaphot 并运行 doc.data() 来获取每个文档数据。

有没有一种方法可以在不循环查询中的每个文档结果的情况下获取所有文档数据,这看起来非常昂贵,因为只是为了从数据库查询结果中获得您期望的结果。

标签: javascriptnode.jsfirebasegoogle-cloud-firestore

解决方案


循环并不昂贵。执行查询时,整个结果集都在内存中的QuerySnapshot对象中。您可以使用forEach()来迭代它们,或者您可以简单地迭代docs 数组属性。无论哪种方式,速度基本相同。我建议完全不要担心循环——只要确保你只请求你需要的文件。


推荐阅读