【问题标题】:Best way to make a medical history DB in mongodb在 mongodb 中创建病史数据库的最佳方法
【发布时间】:2017-07-05 12:00:54
【问题描述】:

我正在制作一个系统,将某人的所有医疗和健康数据存储在数据库中,我选择了 mongodb 来完成这项工作,但我是 mongodb 建模的新手,我不知道什么是最好的方法。

我是否为每个 pacient 使用一个文档并像这样插入子文档:

 $evolution=array(); //subdocument
 $record=array(); //subdocument
 $prescriptions=array(); //subdocument
 $exams=array(); //subdocument
 $surgeries=array(); //subdocument

或者我是否为这些数据中的每一个创建一个新文档?

我知道文件大小的限制是 16 兆字节,但我不知道信息是否会达到限制。

【问题讨论】:

  • 在 MongoDB 数据库建模中,最重要的考虑因素是如何查询数据。

标签: mongodb data-modeling nosql


【解决方案1】:

文档的确切布局很大程度上取决于您需要进行的查询类型。不幸的是,如果不详细了解您的用例,就不可能就什么是最佳布局提供好的建议。

根据您的用例,您可能需要一个带有子文档的文档/患者。在某些情况下,为每个指示的字段设置一个单独的集合可能会更好。这完全取决于这些文档有多大,您需要执行什么类型的查询等等。

一些一般性建议:

  • 尽量避免使用多个集合的查询。
  • 如果您的查询变得困难,则可能是布局错误。在这种情况下,请随时重新评估您的布局。
  • 不断增长的文档可能会产生问题,因为 Mongo 必须不断移动它们以便为增长腾出空间。如果它们会快速增长,请重新评估以查看是否有更好的布局。
  • 虽然从技术上讲,您可以在 Mongo 的同一个集合中存储不同的文档布局,但这通常不是一种好的做法。理想情况下,您集合中的所有文档都应遵循某种模式,即使该模式没有严格定义。
  • 字段名称很重要。它们在 Mongo 中占用空间,因此如果您希望拥有大量数据,则较短的字段名称会更好。

我能提供的最佳建议是从您认为可行的方法开始,然后看看效果如何。如果获取所需信息变得尴尬或困难,请重新评估。

【讨论】:

    猜你喜欢
    • 2012-10-30
    • 2011-02-07
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多