Arrays MongoDB中具有相同字段或一个数组的多个文档
比如说,我有一个系统,用户可以投票给带有识别器的项目 我是否应该为每个用户提供一份文档,其中包含他们投下的一系列投票:Arrays MongoDB中具有相同字段或一个数组的多个文档,arrays,node.js,database,mongodb,Arrays,Node.js,Database,Mongodb,比如说,我有一个系统,用户可以投票给带有识别器的项目 我是否应该为每个用户提供一份文档,其中包含他们投下的一系列投票: {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, vo
{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。我认为第一种设计比第二种更好。因为您为特定用户保留文档。但在第二种情况下,您正在为同一用户创建多个文档。 或者,您可以为特定投票创建一个文档,即所有人都被投票给
x
或y
。
像
有什么解释为什么这种特殊的设计会更好?每次我想查询数组时,都需要将其展开。。。
{votes: X, users: [A,C]}
{votes: Y, users: [A, B]}
{votes: Z, users: [A, B,C]}