我正在寻找实现朋友系统Firebase数据库的最佳方式(或者至少是正确的方式),其中数据库中的每个用户都有自己的信息(他的名字,个人资料图片,电子邮件等)和朋友名单。
问题在于我无法想出一种在数据库中存储信息的好方法,例如,如果我以下列方式存储数据 -
{
"users": {
"johnappleseed": {
// name, profile picture URL, email, phone, etc...
"friends": {
"alice": true,
"bob": true,
"james": true,
"johnappleseed2": true,
// ...
}
},
"johnappleseed2": {
// ...
}
}
}
我希望该应用能够显示某个用户的朋友列表(显示朋友的姓名,个人资料图片等)。我仍然需要为每个人执行服务器请求< / strong>列表中的朋友(同时,AFAIK执行大量服务器请求被认为是一种不好的做法)来获取我想要显示的超出用户名的任何信息...此外,当用户更改其用户名时会发生什么?< / p>
任何人都可以建议更好的解决方案或更有意义的结构吗?
答案 0 :(得分:1)
关于在firebase上构建数据有一个很好的阅读 https://firebase.google.com/docs/database/web/structure-data
在你的情况下,我会做这样的事情
/users:
21532761536: <-- user id
name: henk
birthdate: 14-05-2016
27361726362:
name: priscilla
birthdate: 14-05-2016
/friends:
21532761536: <-- user id (henk)
27361726362: true, <-- friends user id (priscilla)
18237821732: true,
27361726362:
72163721637: true,