我试图使用firebase来存储和检索我的应用程序的数据..我知道建议对数据进行非规范化,并且可能需要数据复制..
我的情景如下:
我很想使用以下结构:
users: {
abc: {
name: 'UserA',
profilePicture: 'imageA.png'
},
pqr: {
name: 'UserB',
profilePicture: 'imageB.png'
},
xyz: {
name: 'UserC',
profilePicture: 'imageC.png'
},
...,
...,
...
},
posts: {
def: {
title: 'PostA',
users: {
abc: true,
def: true,
ghi: true,
...,
...,
...
}
},
stu: {
title: 'PostB',
users: {
abc: true,
xyz: true,
...,
...,
...
}
},
...,
...,
...
}
这个问题是,如果我需要显示每个帖子的用户列表,我需要向POST
发出查询,然后为每个用户进行USER
的连续调用在该帖子中获取name/profilePicture
数据..
如果我同时在帖子中复制用户信息,问题就变成了如果用户稍后更改了她的profilePicture
或name
,那么现有帖子仍会显示旧数据..
如何更好地构建这些数据,以便这些案例有效?
感谢..
答案 0 :(得分:1)
不要在帖子中复制数据。阅读Firebase Docs about structuring data
最佳做法:
如果您在帖子中包含数据,则表示您违反了这两条规则(并且您不希望这样做)。
多次通话都不错。