Efficient MongoDB database design
<p>I'm fairly new to both Meteor and MongoDB. I'm building a basic medical application that helps to run a small clinic. So one of its functionalities is to display a patient's info.</p>

<p>I'm not sure how to best structure the database and I feel as though what I have is inefficient.</p>

<pre><code>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
    ]
}
</code></pre>

<p>What's the most efficient way to structure this data? Should they all be in the same collection?</p>