Skip to main content

Document Design and Modeling

Embedding vs Referencing

0:00
LearnStep 1/2

Embedding vs Referencing

Embedding vs Referencing

Embedding (Denormalization)

python

Embedding Advantages

  • Single read operation
  • Atomic updates within document
  • Better read performance

Embedding Disadvantages

  • Data duplication
  • Document size limit
  • Updates to embedded data require multiple updates

Referencing (Normalization)

python

Referencing Advantages

  • No data duplication
  • Smaller documents
  • Easy to update source data

Referencing Disadvantages

  • Multiple queries or $lookup needed
  • No atomic operations across collections

Using $lookup (Join)

python

Hybrid Approach

python

Pattern: Subset Pattern

python