我一直在使用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') ...
它将下载整个数据。我只是担心,如果第一种情况,它将是相同的
答案 0 :(得分:2)
如果您将监听器附加到Firebase数据库中的某个位置(Reference
)(您有权阅读),则会下载该位置下的所有数据。
当您将侦听器附加到某个位置(您有权阅读)的查询(Query
)时,它会下载与该查询匹配的位置下的所有数据。
答案 1 :(得分:1)
这就是为什么你必须改变你的结构:
profile:
{
101:
{
name: jon
lastname: snow
...
reservations: [801,...],
requests:[....]
}
},
reservations:{
801:{
profileId:101,
..lot of data
},
....
},
requests:{
.....
}