Firebase文档读取优化

时间:2019-03-29 08:11:59

标签: firebase google-maps react-native google-cloud-firestore

我正在为我的react-native应用程序使用firebase firestore,正在创建一个将用户地理位置发送到firestore并生成热图的应用程序,该应用程序每5分钟发送一次用户的位置,我的数据如下所示< / p>

enter image description here

现在我大约有1000个文档,每次刷新应用程序时,它将尝试获取所有坐标以生成热图。

我遇到的问题是,当它生成热图时,它将需要读取所有1000个文档,如果我有5000个坐标/文档,并且有10个用户使用它,它将达到文档读取限制免费使用Firebase,每日费用为50k。

我知道我可以支付一些钱来增加读取限制,但只是想知道是否有人遇到这种情况并找到优化方法来解决它。谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道您的应用程序的所有约束,但是您可以将一个月的所有坐标存储在一个文档中,并以数组的形式存储,从而减少了8928个文档的读取次数。

如果我根据本文档页面https://firebase.google.com/docs/firestore/storage-size正确地进行了数学计算,该页面解释了存储大小的计算,则可以计算出一个包含3个数组的文档,这些数组分别名为latlong和{您的ts集合下的{1}}存储的数据为288 * 31三元组值(288 =一天中每5分钟一次),其最大大小为857,088字节,该大小小于文档(即1,048,576字节),如下所示:https://firebase.google.com/docs/firestore/quotas

当然,您必须处理数组字段,但为此您可以使用coords,请参见https://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array