Firebase数据下载大小

时间:2017-01-28 09:23:37

标签: javascript firebase firebase-realtime-database

我一直在使用Firebase创建一个离子应用程序,但我有一个普遍的问题。

如果我有这样的数据库:

profile:
{
  101: 
  {
     name: jon
     lastname: snow
     ...
     reservations:
       {
         ..lot of data
       }
     requests:
       {
        ..lot of data
       }
  }
}

如果我从我的应用服务中致电:

firebase.database().ref('/profile/101/reservations).once('value') ...

是否下载了整个个人资料数据?因为我担心未来的数据使用情况。 另外因为我知道如果我只打电话

firebase.database().ref('/profile/101').once('value') ...

它将下载整个数据。我只是担心,如果第一种情况,它将是相同的

2 个答案:

答案 0 :(得分:2)

如果您将监听器附加到Firebase数据库中的某个位置(Reference)(您有权阅读),则会下载该位置下的所有数据。

当您将侦听器附加到某个位置(您有权阅读)的查询(Query)时,它会下载与该查询匹配的位置下的所有数据。

答案 1 :(得分:1)

这就是为什么你必须改变你的结构:

profile:
{
  101: 
  {
     name: jon
     lastname: snow
     ...
     reservations: [801,...],
     requests:[....]
  }
},
reservations:{
    801:{
          profileId:101,
         ..lot of data
    },
    ....
},
requests:{
.....
}