Firebase数据结构建议

时间:2016-09-12 12:31:00

标签: swift firebase firebase-realtime-database

我有这个数据结构

{
"post": {
    "<postID>": {
        "postUserID": "<--uid-->",
        "postUserName": "Nicholas",
        "postUserIMG": "http://firebase.....",
        "postImage": "http://firebase.....",
        "Topic": "It is a nice day",
        "like": "0"
    }
},
"user": {
    "<--uid-->": {
        "username": "Nicholas",
        "profilePic": "http://firebase.....",
        "post": "<postID>"
    }
}
}

它工作正常,但我在Post数据上遇到了一些问题。如果我更改了用户数据(例如:用户名),我需要更改用户的所有发布数据。我认为这种结构根本没有效率。如何重构数据结构,以便它只能更改用户数据一次。

1 个答案:

答案 0 :(得分:0)

您应该只存储用户ID,然后通过第二个查询和帖子中的用户ID获取用户的详细信息。我会推荐这种数据结构:

{
    "post" : {
        "<postID>" : {
            "postUserID" : "<--uid-->",
            "postImage" : "http://firebase.....",
            "Topic" : "It is a nice day",
            "like" : "0"
        }
    },
    "user" : {
        "<--uid-->" : {
            "username" : "Nicholas",
            "profilePic" : "http://firebase.....",
            "post" : "<postID>"
        }
    }
}