Android 减少firestore读取

Android 减少firestore读取,android,firebase,firebase-realtime-database,google-cloud-platform,google-cloud-firestore,Android,Firebase,Firebase Realtime Database,Google Cloud Platform,Google Cloud Firestore,我在android应用程序中使用firebase。所有数据都存储在firestore文档中。它将在主页上显示各种汽车公司的名称,如果用户单击某个公司,则将显示车型名称,最后显示有关该汽车的信息。该应用程序正在开发中,但每天仍有大约250次文档读取。我不知道为什么会发生这种情况。在实时数据库中输入公司名称和车型名称,并在firestore文档中输入特定汽车的信息,这是一个好主意吗?例如(请忽略语法)db.collections(“法拉利”).document(“458”).getResults()

我在android应用程序中使用firebase。所有数据都存储在firestore文档中。它将在主页上显示各种汽车公司的名称,如果用户单击某个公司,则将显示车型名称,最后显示有关该汽车的信息。该应用程序正在开发中,但每天仍有大约250次文档读取。我不知道为什么会发生这种情况。在实时数据库中输入公司名称和车型名称,并在firestore文档中输入特定汽车的信息,这是一个好主意吗?例如(请忽略语法)
db.collections(“法拉利”).document(“458”).getResults()


这种查询将计为1个文档读取吗?我可以通过这种方式减少文档阅读吗?

对于文档

阅读收费有一些细微差别,你应该记住。这个 以下各节详细解释了这些细微差别

收听查询结果

CloudFireStore允许您监听查询结果并获取 查询结果更改时进行实时更新

当你听一个查询的结果时,你会被收取读取费用 每次添加或更新结果集中的文档时。你是 从结果集中删除文档时,还将收取读取费用 因为文档已更改。(相反,当文档 已删除,则不收取阅读费用。)

此外,如果侦听器断开连接的时间超过30分钟(例如 例如,如果用户脱机),您将按以下方式收取读取费用: 如果您发布了一个全新的查询

管理大型结果集

Cloud Firestore有几个功能可以帮助您管理 返回大量结果:

游标,用于恢复长时间运行的查询。页面标记, 这有助于对查询结果进行分页。限制,指定如何 许多结果需要检索。偏移量,允许您跳过固定的偏移量 文件数量

使用游标、页面标记和 限制。事实上,这些功能可以帮助你通过阅读来省钱 只有你真正需要的文件

但是,当您发送包含偏移量的查询时,您将 对每个跳过的文档收取读取费用。例如,如果您的查询 使用10的偏移量,查询返回1个文档,即 收费11读。由于这一额外成本,您应该使用 尽可能使用游标而不是偏移量

文档读取以外的查询

用于除文档读取以外的查询,例如请求 集合ID,您将为一次文档读取计费。如果获取 完整的结果集需要多个请求(例如, 如果您使用分页),则每个请求将向您计费一次

如果我们来问你的问题。

此示例显示如何使用get()获取单个文档的内容

注意:即使查询未返回任何结果,您执行的每个查询至少要读取一份文档

db.collections("Ferrari").document("458").get() // One Document One Read :)