我正在尝试减少对可定义如下结构的实时数据库(Firebase)的调用次数:
{
users: {
1: {
name: "John",
groups: {
1: true,
2: true
}
},
2: {
name: "Danny",
groups: {
1: true
}
}
},
groups: {
1: {
name: "Students",
users: {
1: true,
2: true
}
},
2: {
name: "Engineers",
users: {
1: true
}
}
}
}
比方说,我想显示与用户ID 1(John)关联的所有组。根据我的阅读,正确的处理方法是读取users/1/groups
的密钥,然后在groups/{ID}/name
读取每个组的名称。
上述过程的问题在于,为了显示用户John的所有组的名称,需要每个组ID的请求(以及读取用户的组密钥的请求)。与SQL结构相比,这浪费了很多资源。
有没有更有效的方法?