2016-07-29 57 views
0

我对Meteor和MongoDB都很新。我正在建立一个基本的医疗应用程序,帮助经营一家小诊所。所以它的一个功能是显示病人的信息。高效的MongoDB数据库设计

我不知道如何最好地构建数据库,我感觉好像我有什么效率低下。

first_name: 'Andrew', 
middle_name: 'Baines', 
surname: 'Bernard', 
sex: 'Male', 
age: '40', 
dateAdded: new Date(), 

contacts: { 
    // mobile no, email etc 
}, 

work: { 
// company, position etc 
}, 

insurance: { 
    // insurance details 
}, 

next_of_kin: { 
// name, phone no, etc 
}, 

medical_history: { 
    significant_illnesses: [ 
     // illnesses 
    ], 
    significant_surgeries: [ 
     // surgeries  
    ], 
    allergies: [ 
     // allergies 
    ], 
    current_medication: [ 
     // medication 
    ] 
} 

结构化数据的最有效方法是什么?他们都应该在同一个集合?

+0

最好是将它们作为单个文档的一部分。 –

+0

您应该将所有个人信息保存在个人资料字段中。 休息一切都很好我猜 –

回答

1

由于患者与他们的个人资料数据和病史具有一对一的关系,所以嵌入似乎很适合,因此嵌入不会引入任何重复。一般来说,嵌入的主要思想是可以在一个请求中访问应用程序通常处理的信息。只要您每次获得患者时都要求您提供给该文档的所有信息,那么该架构就可以,否则您可能会考虑将其放入单独的集合中。

+0

@wiredfordesign为了解决未来的问题,你应该参考MongoDB官方文档:[文档之间的模型关系](https://docs.mongodb.com/manual/applications/data-models-relationships /)。 – sonlexqt