MongoDB Documentation, Release 3.0.4 4.2.1 Data Model Design Embedded Data Models Chapter 4. Data Models 146 Embedded data models allow applications to store related pieces of information in the same database record. As a result, applications may need to issue fewer queries and updates to complete common operations. In general, use embedded data models when: In general, embedding provides better performance for read operations, as well as the ability to request and retrieve related data in a single database operation. Embedded data models make it possible to update related data in a single atomic write operation. However, embedding related data in documents may lead to situations where documents grow after creation. With the MMAPv1 storage engine, document growth can impact write performance and lead to data fragmentation. In version 3.0.0, MongoDB uses Power of 2 Sized Allocations (page 91) as the default allocation strategy for MMAPv1 in order to account for document growth, minimizing the likelihood of data fragmentation. See Power of 2 Sized Allocations (page 91) for details. Furthermore, documents in MongoDB must be smaller than the maximum BSON document size . For bulk binary data, consider GridFS (page 150). • you have “contains” relationships between entities. See Model One-to-One Relationships with Embedded Doc- uments (page 152). • you have one-to-many relationships between entities. In these relationships the “many” or child documents always appear with or are viewed in the context of the “one” or parent documents. See Model One-to-Many Relationships with Embedded Documents (page 153). Effective data models support your application needs. The key consideration for the structure of your documents is the decision to embed (page 146) or to use references (page 147). With MongoDB, you may embed related data in a single structure or document. These schema are generally known as “denormalized” models, and take advantage of MongoDB’s rich documents. Consider the following diagram: