如何在MongoDB和Mongoose中有效地对动态数据建模

时间:2019-03-19 04:37:49

标签: mongodb mongoose nosql data-modeling

我正在使用MERN Stack建立网站,并且需要处理大量动态数据。因此,我试图了解如何有效地对变量数据进行建模,学习材料也将很有用。或以不同方式实现其优点和缺点的方法。

另一件事,我正在使用Mongoose制作模式。因此,带有猫鼬的动态数据中的示例或材料也应有所帮助。


此外,我将为您提供一个我需要处理的类似情况的示例,但我严格地不需要您提供下一个示例的帮助,仅在您愿意的情况下,我只需要该材料了解如何处理动态数据以及如何正确建模。因此,对于想要帮助我的人来说,这是btw示例,这只是我正在设计的一小部分,但是它涵盖了我对MongoDB中的动态数据的大部分疑问。我尽了最大的努力解释了这个问题,因此,如果您不明白这一点,不必担心:

首先有公司和用户

  • 公司可以有很多用户
  • 用户只能是1家公司的一部分

我们称之为模块

    一个公司可以访问多个模块(蓝色公司可以访问 模块A和B)
  • 一个模块可以被多个公司访问(模块A可以是 被红色公司和蓝色公司访问)
  • 用户可以访问多个模块(最多模块数 公司可以访问,如果公司可以访问4个模块,则用户 最多可以访问4个模块)
  • 来自不同公司的多个用户可以访问一个模块。
  • 一个模块可以具有某些字段或列,例如:

    • 模块A:
      • 物品
      • 说明
      • 类别
      • 年份
      • 主要任务
    • 模块B:
      • 文章
      • 类型
      • 号码
      • 年份
      • 义务
  • 将来可以添加新字段。例如:我们可以增加一天 因为出于某种原因需要模块B,所以该列 “风险”,结果会是这样。

    • 模块B:
      • 文章
      • 类型
      • 号码
      • 年份
      • 义务
      • 风险

    每个公司都可以选择其用户可以从哪个模块和顺序中看到哪些列/字段。例如,如果Blue公司访问模块B,他们将看到以下内容:

    • 模块B:
      • 主要文章
      • 涉及的风险
      • 类别
      • 发布年份
  • 每个模块可以有行,并且行中的值与 每个模块列:

    • 模块B-第1行:

      • 文章:32
      • 类型:脚本
      • 编号:7223
      • 年份:2017
      • 义务:不适用
      • 风险:辐射
    • 模块B-第2行:

      • 文章:117
      • 类型:订单
      • 编号:153
      • 年份:1957年
      • 义务:做一些事情来防止某些事情
      • 风险:环境破坏
  • 公司可以访问多个行

  • 多个公司可以访问行
  • 当用户访问模块时,他会看到公司的所有行 有权访问。
  • 这些模块是否可以在其行中接收评论,所以我不知道 这个词,但它会是诸如可复查,真实或 错误。
  • 如果某个模块是可审核的,那么他所有的行都可以收到评论, 否则,所有行都不会收到评论。
  • 如果某个模块是可审核的,则每个公司都有一个特定的审核 特定模块的格式,它们可以具有不同的查看字段,并且 主要评论价值。他们可以选择这些评论是否为数字, 按百分比,按数据列表[{label:好,值= 1},{label:常规, 值:0.5},{标签:错误,值:0}]列表不固定,可以是 优秀,良好,还可以,很差,很差等...
  • 并且各个公司的审核字段有所不同。例如:
    • 蓝色公司的审核格式:
      • 星星(主评价值)[从0到5]
      • 创造价值的理由
      • 日期
    • 红色公司的审核格式:
      • 成功率(主要评价值)[从0到100]
      • 详细信息
      • 随附文件
      • 最后审核日期

0 个答案:

没有答案