MongoDB 1:0/1帐户和用户集合之间的关系

时间:2016-12-07 16:38:56

标签: mongodb nosql

我来自关系数据库的奇妙世界,我现在想知道如何实现一对一的关系。

问题在于:

关系数据库:我有2个表AccountUser,其中1:0/1关系=> account记录必须与用户记录相关联,但“用户”可以是其自己的实体,而不是与account相关联。

NoSQL数据库:根据我的理解,这个问题有3个主要解决方案。

  1. 使用可为空的User字段创建account集合。
  2. user = { _id: string, username: string, account: { password: string } }

    1. 使用Account字段创建user集合,该字段仅包含与帐户关联的用户+创建仅包含没有帐户的用户的User集合表。这里的问题是我们复制用户字段
    2. account = { _id: string, username: string, // duplicated password: string }

      user = { _id: string, username: string // duplicated }

      1. 使用$lookup个超过2个集AccountUserAccount包含userId字段。
      2. account = { _id: string, userId: string }

        user = { _id: string, username: string // duplicated }

        我个人更喜欢解决方案1,因为它感觉更适合NoSQL数据库。

        然而,我并不相信,并且非常感谢任何其他解决方案或反馈。

0 个答案:

没有答案