在Firebase数据库中构建好友列表

时间:2017-08-20 08:56:05

标签: json firebase database-design firebase-realtime-database nosql

我正在寻找实现朋友系统Firebase数据库的最佳方式(或者至少是正确的方式),其中数据库中的每个用户都有自己的信息(他的名字,个人资料图片,电子邮件等)和朋友名单。

问题在于我无法想出一种在数据库中存储信息的好方法,例如,如果我以下列方式存储数据 -

{
    "users": {
        "johnappleseed": {
            // name, profile picture URL, email, phone, etc...
            "friends": {
                "alice": true,
                "bob": true,
                "james": true,
                "johnappleseed2": true,
                // ...
            }
        },
        "johnappleseed2": {
            // ...
        }   
    }
}

我希望该应用能够显示某个用户的朋友列表(显示朋友的姓名,个人资料图片等)。我仍然需要为每个人执行服务器请求< / strong>列表中的朋友(同时,AFAIK执行大量服务器请求被认为是一种不好的做法)来获取我想要显示的超出用户名的任何信息...此外,当用户更改其用户名时会发生什么?< / p>

任何人都可以建议更好的解决方案或更有意义的结构吗?

1 个答案:

答案 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,