我正在开发一个用户可以在其中发布内容的项目。但是,我想知道我的Firebase数据库结构是否有效。下面是我的数据库到目前为止的样子。我的帖子子包含用户将发布的所有帖子。并且每个用户都可以通过在posts中创建uid子级来跟踪自己的帖子。有没有更好的方法来构造我的数据?还是我可以去?任何意见,将不胜感激!

{
 "posts" : {
     "-KVRT-4z1AUoztWnF-pe" : {
     "caption" : "",
     "likes" : 0,
     "pictureUrl" : "https://firebasestorage.googleapis.com/v0/b/cloub-4fdbd.appspot.com/o/users%2FufTgaqudXeUciW5bGgCSfoTRUw92%2F208222E1-8E20-42A0-9EEF-8AF34F523878.png?alt=media&token=9ec5301e-d913-44ee-81d0-e0ec117017de",
     "timestamp" : 1477946376629,
     "writer" : "ufTgaqudXeUciW5bGgCSfoTRUw92"
     }
 },
 "users" : {
     "ufTgaqudXeUciW5bGgCSfoTRUw92" : {
         "email" : "Test1@gmail.com",
         "posts" : {
             "-KVRT-4z1AUoztWnF-pe" : {
                 "timestamp" : 1477946376677
             }
         },
         "profileImageUrl" : "https://firebasestorage.googleapis.com/v0/b/cloub-4fdbd.appspot.com/o/profile_images%2F364DDC66-BDDB-41A4-969E-397A79ECEA3D.png?alt=media&token=c135d337-a139-475c-b7a4-d289555b94ca",
         "username" : "Test1"
      }
   }
}

最佳答案

使用NoSql Data时,您需要注意一些事项:-


避免嵌套数据太深
扁平化您的数据结构
首选字典
安全规则[Firebase]


试试这个结构:-

users:{
  userID1: {..//Users info..
             posts:{
                 postID1: true,
                 postID2: true,
                 postID3: true,
                    }
                 },
  userID2: {..//Users info..},
  userID3: {..//Users info..},
  userID4: {..//Users info..},
    },
posts: {
 userID1 :{
  postID1: {..//POST CONTENT },
  postID2: {..//POST CONTENT },
  postID3: {..//POST CONTENT },
   }

  }

10-08 08:07
查看更多