0
0
MongoDBquery~30 mins

Why modeling decisions matter in MongoDB - See It in Action

Choose your learning style9 modes available
Why Modeling Decisions Matter in MongoDB
📖 Scenario: You are working for a small online bookstore. You want to store information about books and their authors in a MongoDB database. How you decide to organize this data affects how easy it is to find and update information later.
🎯 Goal: Build a simple MongoDB collection that shows two different ways to model books and authors: embedding author details inside each book document, and referencing authors in a separate collection. This will help you understand why modeling decisions matter.
📋 What You'll Learn
Create a books collection with embedded author details.
Create an authors collection with author documents.
Create a books_ref collection where each book references an author by author_id.
Write queries to find books with embedded authors and books with referenced authors.
💡 Why This Matters
🌍 Real World
Choosing how to model data in MongoDB is important for building efficient and maintainable applications like online stores, blogs, or social networks.
💼 Career
Understanding data modeling helps database developers and backend engineers design databases that perform well and are easy to work with.
Progress0 / 4 steps
1
Create the books collection with embedded author details
Create a MongoDB collection called books and insert two documents. Each document should have the fields title and author. The author field should be an embedded document with name and birth_year. Use these exact entries: { title: "The Great Gatsby", author: { name: "F. Scott Fitzgerald", birth_year: 1896 } } and { title: "1984", author: { name: "George Orwell", birth_year: 1903 } }.
MongoDB
Need a hint?

Use db.books.insertMany() with an array of documents. Each document should have title and an embedded author document.

2
Create the authors collection with separate author documents
Create a MongoDB collection called authors and insert two documents. Each document should have the fields _id, name, and birth_year. Use these exact entries: { _id: 1, name: "F. Scott Fitzgerald", birth_year: 1896 } and { _id: 2, name: "George Orwell", birth_year: 1903 }.
MongoDB
Need a hint?

Use db.authors.insertMany() with an array of author documents. Each must have an _id field.

3
Create the books_ref collection with author references
Create a MongoDB collection called books_ref and insert two documents. Each document should have the fields title and author_id. Use these exact entries: { title: "The Great Gatsby", author_id: 1 } and { title: "1984", author_id: 2 }.
MongoDB
Need a hint?

Use db.books_ref.insertMany() with documents that have title and author_id fields.

4
Query books with embedded authors and referenced authors
Write two queries: one to find all books in the books collection showing embedded author details, and one to find all books in the books_ref collection joined with author details from the authors collection using $lookup. Assign the results to variables embeddedBooks and referencedBooks respectively.
MongoDB
Need a hint?

Use db.books.find().toArray() to get embedded books. Use db.books_ref.aggregate() with $lookup and $unwind to join authors.