【问题标题】:Firebase Database structure UIDFirebase 数据库结构 UID
【发布时间】:2017-11-23 00:35:48
【问题描述】:

我在问自己这种数据库结构是否良好,因为使用 PK AND 将 UID 再次放在该 PK 下识别用户。我不知道这是否真的有意义,甚至更多,可能是危险的?

{
  "Users" : {
    "7idb6ThWR8aqmnEHFao5GRCV1kI3" : {
      "dPicture" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Profile_images%2Fcropped1465266876.jpg?alt=media&token=44f83fdf-935a-4b3c-8138-561dcba2fca7",
      "status" : "hi my name is erik",
      "uid" : "7idb6ThWR8aqmnEHFao5GRCV1kI3",
      "username" : "erik"
    }
  },
  "posts" : {
    "-KfsrGsY8TWb2wiMFtAq" : {
      "dPicture" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Profile_images%2Fcropped1465266876.jpg?alt=media&token=44f83fdf-935a-4b3c-8138-561dcba2fca7",
      "image" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Post_Images%2Fcropped1354055061.jpg?alt=media&token=77fbc9ed-4356-43c1-b7bb-9563300a8b7b",
      "small_title" : "tes",
      "summary" : "tes",
      "title" : "tes",
      "uid" : "7idb6ThWR8aqmnEHFao5GRCV1kI3",
      "username" : "erik"
    }
  }
}

【问题讨论】:

    标签: firebase data-structures firebase-realtime-database nosql


    【解决方案1】:

    这并不危险。您在父级别设置的安全性向下遍历。来自 Firebase 文档:

    .read 和 .write 规则自上而下工作,规则较浅 压倒更深的规则。如果规则授予读取或写入权限 一个特定的路径,那么它还授予对下所有子节点的访问权限 它。

    至于它是否有意义......这取决于你的决定。虽然在数据结构中复制键没有错,但它不是必需的。从密钥中检索数据与从有效负载中检索数据一样容易。

     const data = await firebase.database().ref(`/Users/`).once('value');
    
     const users = _.map(data.val(), (val, key) => {
       return { 
         userId: key, 
         val.username, 
         val.dPicture, 
         val.status
       };
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      相关资源
      最近更新 更多