如何用firebase构建友谊数据?

aur*_*vec 5 android firebase firebase-realtime-database

我是firebase的新手,我尝试构建我的数据来存储我的应用程序用户之间的友谊.

我的数据结构如下:

    { users: {
        user_1: {
          name: John
        },
        user_2: {
          name: Jack
        },
       user_3: { 
          name: Georges
       },
   }, 
   { friendships : {
      user_1 : {
        user_2: {
            name: Jack
          },
        user_3: {
            name: Georges
      },
      user_3: {
        user_1: {
            name: John
        },
         user_2: {
            name: Jack
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道我的数据结构是否正常,但我想知道如果用户更改其名称,更新友谊中名称的最佳方法是什么,如何轻松更新友谊中的引用(眉毛每个节点?) ?

感谢有人能帮助我理解正确的方法.

一个.

Dra*_*ian 5

你所遵循的数据库结构有点乱,可能有点难以浏览它,我建议: -

  Users{
    userID_1 : {
      username : “Shelly Morgan”  ,     
      useremail : “sehlly1@yahoo.co.in”
       friends :{
        userID_2 : true,
        userID_3 : true,
        userID_4 : true,
                 } 
           },
    userID_2 : {
     username : “Mikael”  ,     
     useremail : “mike1232@gmail.com”
       friends :{
        userID_1 : true,
        userID_4 : true,
                 } 
           },
    userID_3 : {
     username : “Lenoard Narish”  ,     
     useremail : “leo_nar12@gmail.com”
      friends :{
        userID_1 : true,
        userID_2 : true,
        userID_4 : true,
                 } 
           },
    userID_4 : {
     username : “Rob Stark”  ,     
     useremail : “robStar781@gmail.com”
      friends :{
         userID_1 : true
                 } 
           }

}
Run Code Online (Sandbox Code Playgroud)

以这种方式,您只将userID朋友存储在该用户数据库中,您所要做的就是仅更改friends_uidnode中的值.要检索friends 数据库: -

1.)刚刚击中friends节点User

2.)倾听每一位朋友uid,

3.)和命中与所需的数据库uid检索的各个数据库friend

请阅读此处的文档以检索数据:https://firebase.google.com/docs/database/android/retrieve-data


Lin*_*nxy 5

你的结构几乎是好的,但我会将友谊节点更改为:

    { users: {
        user_1: {
          name: John
        },
        user_2: {
          name: Jack
        },
       user_3: { 
          name: Georges
       },
   }, 
   { friendships : {
      user_1 : {
        user_2: true,
        user_3: true,
      user_3: {
        user_1: true,
        user_2: true
    }
}
Run Code Online (Sandbox Code Playgroud)

这类似于Dravidian所展示的,但根据您拥有的朋友数量,最好不要将用户的朋友列表存储在用户帐户详细信息节点下,因为如果您有1000多个朋友,则必须下载1000个孩子如果你只想获得像他的名字一样的单一价值.