首页 > 解决方案 > Firebase/Firecloud & React - 如何存储配置文件图像不需要 80 个不同的读取来显示所有 80 个图像?

问题描述

我正在设置一个 React 和 Firecloud 应用程序,它根据一组约束显示配置文件。根据用户的选择,将显示 +- 10-100 个配置文件快照,包括配置文件图像/图标。

所有在线建议似乎都指向在我的收藏文档中使用带有图像链接的 Firebase 存储。现在在我看来,这意味着每次用户更改约束或刷新(信息经常更改,因此不愿意依赖本地存储)我将需要一次阅读以下载我的所有个人资料快照(存储在一个文档中)和另一个 1 -100 次读取以下载每个图像,这是唯一的方法吗?

图像/图标是小的低分辨率图片。理想情况下,我希望将这些与文档中的每个配置文件一起存储,但无法弄清楚唯一的数据选项是字符串、数字、布尔值、地图、数组、空值、时间戳、地理点或参考。

还是我完全弄错了,下载所有图像只算一次阅读?(成本是firecloud每次读写收费的主要问题)

任何想法,将不胜感激。

标签: reactjsimagefirebasegoogle-cloud-firestoreicons

解决方案


如果您还没有,请查看此内容。有很多信息可能有用。

“您也可以通过查询集合中的文档,一次请求检索多个文档。例如,您可以使用where()查询所有满足特定条件的文档,然后使用get()检索结果:

db.collection("cities").where("capital", "==", true)
    .get()
    .then(function(querySnapshot) {
        querySnapshot.forEach(function(doc) {
            // doc.data() is never undefined for query doc snapshots
            console.log(doc.id, " => ", doc.data());
        });
    })
    .catch(function(error) {
        console.log("Error getting documents: ", error);
    });

默认情况下,Cloud Firestore 按文档 ID 升序检索满足查询的所有文档,但您可以对返回的数据进行排序和限制。”

使用查询游标对数据进行分页也可能会引起您的兴趣。


推荐阅读