【问题标题】:JSON data modeling: users who have access to projectsJSON 数据建模:有权访问项目的用户
【发布时间】:2019-02-27 13:40:05
【问题描述】:

在构建我们的数据模型时(文档数据库中的 JSON),我们有 users,它是 project 的一部分。 IE。一个项目有很多用户,一个用户可以是很多项目的一部分。

将用户可以访问的每个项目存储在用户中是否有意义:

{
   "id": "u1"
   "name": "John Doe",
   "email": "john.doe@domain.com",
   "projects": [
       "p1",
       "p2",
       "p3"
   ]
}

或者将用户存储在他们自己的项目中:

{
    "id": "p1"
    "name": "Project A",
    "users": [
        "u1"
    ]
}

{
    "id": "p2"
    "name": "Project B",
    "users": [
        "u1"
    ]
}

{
    "id": "p3"
    "name": "Project C",
    "users": [
        "u1"
    ]
}

我们预计需要为给定用户选择所有项目以及为给定项目选择所有用户。

【问题讨论】:

    标签: json model data-modeling


    【解决方案1】:

    根据Mongo数据库的文档(https://docs.mongodb.com/manual/tutorial/model-embedded-one-to-many-relationships-between-documents),以上两种方式都可以。 我认为业务将决定应该选择哪种数据模型,例如,如果只有一个或两个项目但用户很多,并且您只需要显示用户项目列表,第一种方式更好。 P/S:如果您使用 Mongo,请考虑使用 mongoose,它有助于轻松检索数据。

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 2013-10-01
      • 2012-02-17
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      相关资源
      最近更新 更多