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]}