Model One-to-Many Relationships with Embedded Documents
Create a data model that uses embedded documents to describe a one-to-many relationship between connected data. Embedding connected data in a single document can reduce the number of read operations required to obtain data. In general, structure your schema so your application receives all of its required information in a single read operation. For example, you can use the the embedded one-to-many model to describe the following relationships:
Country to major cities
Author to books
Student to classes
Example
The example schema contains three entities, with address one and address two
belonging to the same patron:
// patron document {    _id: "joe",    name: "Joe Bookreader" } // address one {    street: "123 Fake Street",    city: "Faketon",    state: "MA",    zip: "12345" } // address two {    street: "1 Some Other Street",    city: "Boston",    state: "MA",    zip: "12345" } 
Embedded Document Pattern
In this example the application needs to display information for the patron and both
address objects on a single page. To allow your application to retreive all necessary
information with a single query, embed the address one and address two information
inside of the patron document:
{    _id: "joe",    name: "Joe Bookreader",    addresses: [       {          street: "123 Fake Street",          city: "Faketon",          state: "MA",          zip: "12345"       },       {          street: "1 Some Other Street",          city: "Boston",          state: "MA",          zip: "12345"       }    ]  }