2016-07-29 21 views
0

Ich bin ziemlich neu in Meteor und MongoDB. Ich baue eine grundlegende medizinische Anwendung, die hilft, eine kleine Klinik zu führen. Eine seiner Funktionen besteht also darin, die Informationen eines Patienten anzuzeigen.Effiziente MongoDB Datenbank-Design

Ich bin mir nicht sicher, wie man die Datenbank am besten strukturiert und ich fühle, als ob das, was ich habe, ineffizient ist.

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 
    ] 
} 

Was ist der effizienteste Weg, um diese Daten zu strukturieren? Sollten sie alle in derselben Sammlung sein?

+0

Ist es am besten, sie als Teil eines einzelnen Dokuments zu haben. –

+0

Sie sollten alle persönlichen Informationen im Profilfeld speichern. Rest alles ist gut, ich denke –

Antwort

1

Es scheint, dass die Einbettung hier gut passt, da die Patienten eine Eins-zu-Eins-Beziehung zu ihren Profildaten und einer Anamnese haben, so dass die Einbettung keine Verdopplung hervorruft. Im Allgemeinen besteht die Grundidee der Einbettung darin, dass Sie in einer Anfrage auf die Informationen zugreifen können, die Ihre Anwendung normalerweise verarbeitet. Solange alle Informationen, die Sie in das Dokument eingegeben haben, jedes Mal erforderlich sind, wenn Sie einen Patienten erhalten, ist das Schema in Ordnung, andernfalls können Sie in getrennten Sammlungen suchen.

+0

@wiredfordesign Für die Lösung zukünftiger Probleme sollten Sie von MongoDB offizielle Dokumente verweisen: [Modell Beziehungen zwischen Dokumenten] (https://docs.mongodb.com/manual/applications/data-models-relationships /). – sonlexqt