能比我更聪明的人告诉我哪种方法更有效地获取信息
场景1:我在数据库中有一个用户对象,其中包含我要从中获取数据的所有路径
user: {
conversations: {
path1id: true,
path2id: true,
path3id: true,
}
}
然后我可以使用for循环方法,然后在每个路径上使用一次方法来获取相关信息。
for(let path in paths){
firebase.database().ref(/conversations/${path}).once('value')
.then(snapshot = > {
//handle data
})
}
方案2:我有一个对话节点,像这样将注册组分配给每个用户
conversations: {
user1: {
convo1id: {
created: TIMESTAMP,
members: {
requested: {
id: 4083und98h9ns98jw9wj,
username: 'User 1',
profilepic: 'storagelink'
},
accepted: {
id: 4083und98h9ns98jw9wj,
username: 'User 1',
profilepic: 'storagelink'
}
}
},
convo2id: {
created: TIMESTAMP,
members: {
requested: {
id: fjd9ud9d9djd9dj,
username: 'User 3',
profilepic: 'storagelink'
},
accepted: {
id: 4083und98h9ns98jw9wj,
username: 'User 1',
profilepic: 'storagelink'
}
}
},
}
}
然后我可以在此节点上查询并获取任何特定用户ID下的所有对话。这仅意味着一个请求,但是我将使用这种方法重复数据。显然,这会随着我获得更多用户而变慢,但是从速度和带宽的角度来看,我不确定这是否是正确的方法。
感谢任何能提供帮助的人