我们假设我有一个系统,用户可以投票选择识别器附带的物品。
我是否应该为每个拥有投票数组的用户提供一份文件:
{user: A, votes: [x, y, z]}
{user: B, votes: [y, z]}
{user: C, votes: [x, z]}
或每次投票的文件很多:
{user: A, vote: x}, {user: A, vote: y}, {user: A, vote: z}
{user: B, vote: y}, {user: B, vote: z},
{user: C, vote: x}, {user: C, vote: z}
我觉得第二种设计更好,但我可能错了,因为我之前只有MySQL的经验。
答案 0 :(得分:1)
据我所知,第一次设计比第二次设计好。因为您为特定用户保留了文档。但在第二种情况下,您要为同一用户创建多个文档。
或者您可以为特定的投票创建一个文档,即所有人都被选为x
或y
....
喜欢
{votes: X, users: [A,C]}
{votes: Y, users: [A, B]}
{votes: Z, users: [A, B,C]}