Firebase实时数据库:用户是否每次都下载整个数据库?

时间:2019-05-30 07:17:17

标签: firebase-realtime-database

我希望用户将一些数据发送到数据库。但是下载的数据有点高。 这些是我的规则:

{
  "rules": {
    ".read": false,
    ".write": true
  }
}

一天之内,下载的数据已达到7.2 mb。我的数据库大小约为320kb。

2 个答案:

答案 0 :(得分:0)

Firebase实时数据库(以及Firebase的另一个数据库Cloud Firestore)中意外使用带宽的常见原因是,Firebase控制台中显示的任何数据也都计入您的配额。

因此,在您的情况下,如果您已在Firebase控制台中保持数据库处于打开状态,并且一天刷新了10次,或者如果一天中已打开Firebase数据库控制台了10次,那么您已经很好地解释了您的带宽使用情况。

答案 1 :(得分:0)

否,如果您不需要,Firebase不会在您每次启动应用程序时下载所有数据(取决于您查询的数据)。

因此正确的答案是,这取决于您应用程序的代码。例如,如果您有类似

的代码
db.ref('users/user_id').once((snap) => { ... })

这意味着仅下载位于user_id字段下的特定数据。

但是,例如,如果您编写这样的代码:

db.ref('users').once((snap) => { ... })

整个users对象将被下载。

希望,对于您来说,带宽显然取决于从应用程序代码角度查询的数据量。