Bird
Raised Fist0
MongoDBquery~30 mins

How MongoDB stores data as documents - Try It Yourself

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Understanding How MongoDB Stores Data as Documents
📖 Scenario: You are working on a small library system that keeps track of books. Each book has a title, author, and year of publication. You want to store this information in MongoDB, which saves data as documents.
🎯 Goal: Build a simple MongoDB document that represents a book with its details. Learn how to create and structure documents in MongoDB.
📋 What You'll Learn
Create a MongoDB document for a book with exact fields and values
Add a field to the document to specify the genre of the book
Use a MongoDB query to insert the document into a collection
Add a final field to the document to mark if the book is available
💡 Why This Matters
🌍 Real World
MongoDB is often used to store flexible data like user profiles, product catalogs, or content management data where each item can have different fields.
💼 Career
Understanding how to create and manipulate documents in MongoDB is essential for backend developers, data engineers, and anyone working with NoSQL databases.
Progress0 / 4 steps
1
Create the initial book document
Create a MongoDB document called book with these exact fields and values: title set to "The Great Gatsby", author set to "F. Scott Fitzgerald", and year set to 1925.
MongoDB
Hint

Use curly braces {} to create a document and separate fields with commas.

2
Add a genre field to the book document
Add a new field called genre to the book document and set its value to "Classic".
MongoDB
Hint

Add the new field inside the curly braces with a comma after the previous field.

3
Insert the book document into the collection
Use the MongoDB command db.books.insertOne(book) to insert the book document into the books collection.
MongoDB
Hint

Use db.collectionName.insertOne(document) to add a document to a collection.

4
Add availability status to the book document
Add a new field called available to the book document and set its value to true to indicate the book is available.
MongoDB
Hint

Boolean values in MongoDB documents are written as true or false without quotes.

Practice

(1/5)
1. What is the basic unit of data storage in MongoDB?
easy
A. A document
B. A table
C. A row
D. A column

Solution

  1. Step 1: Understand MongoDB data structure

    MongoDB stores data as documents, not tables or rows like traditional databases.
  2. Step 2: Identify the correct data unit

    The document is the flexible data unit that holds fields and values in MongoDB.
  3. Final Answer:

    A document -> Option A
  4. Quick Check:

    MongoDB data unit = document [OK]
Hint: Remember: MongoDB uses documents, not tables or rows [OK]
Common Mistakes:
  • Confusing documents with tables from SQL
  • Thinking rows or columns are used in MongoDB
  • Assuming collections are the basic unit
2. Which of the following is the correct way to represent a MongoDB document with a field name and value Alice?
easy
A. [ 'name': 'Alice' ]
B. { 'name' = 'Alice' }
C. { name: 'Alice' }
D. ( name: 'Alice' )

Solution

  1. Step 1: Recall MongoDB document syntax

    MongoDB documents use JSON-like syntax with curly braces and colon to assign values.
  2. Step 2: Check each option's syntax

    { name: 'Alice' } uses correct JSON-like syntax: { name: 'Alice' }. Others use invalid symbols or brackets.
  3. Final Answer:

    { name: 'Alice' } -> Option C
  4. Quick Check:

    Correct MongoDB document = JSON-like with colons [OK]
Hint: Use curly braces and colons for fields in MongoDB documents [OK]
Common Mistakes:
  • Using equal signs instead of colons
  • Using square or round brackets instead of curly braces
  • Putting field names in quotes incorrectly
3. Given the MongoDB document: { name: 'Bob', age: 30, hobbies: ['reading', 'swimming'] }, what is the value of the hobbies field?
medium
A. A string 'reading, swimming'
B. A nested document with keys 'reading' and 'swimming'
C. A number 2
D. An array with 'reading' and 'swimming'

Solution

  1. Step 1: Identify the data type of hobbies field

    The hobbies field is shown with square brackets, which means it is an array.
  2. Step 2: Understand array contents

    The array contains two string elements: 'reading' and 'swimming'.
  3. Final Answer:

    An array with 'reading' and 'swimming' -> Option D
  4. Quick Check:

    Square brackets mean array = An array with 'reading' and 'swimming' [OK]
Hint: Square brackets [] mean array in MongoDB documents [OK]
Common Mistakes:
  • Thinking it's a string instead of an array
  • Confusing arrays with nested documents
  • Assuming the value is a count of items
4. Identify the error in this MongoDB document: { 'title': 'Book', pages: 250, author: 'John Doe' }
medium
A. This document is valid and has no error
B. Mixing quoted and unquoted field names is invalid
C. Values must be numbers only
D. Field names must all be unquoted

Solution

  1. Step 1: Check field name quoting rules

    MongoDB allows field names to be quoted or unquoted as long as they are valid strings.
  2. Step 2: Verify document validity

    Mixing quoted and unquoted field names is allowed; values are correctly typed.
  3. Final Answer:

    This document is valid and has no error -> Option A
  4. Quick Check:

    Quoted or unquoted field names both valid [OK]
Hint: MongoDB allows mixed quoted/unquoted field names [OK]
Common Mistakes:
  • Thinking all field names must be quoted
  • Assuming mixing quotes causes error
  • Believing values must be only numbers
5. You want to store a user's profile with name, age, and a list of addresses (each with street and city) in MongoDB. Which document structure correctly represents this?
hard
A. { name: 'Eva', age: 28, addresses: '1st Ave, NY; 2nd St, LA' }
B. { name: 'Eva', age: 28, addresses: [{ street: '1st Ave', city: 'NY' }, { street: '2nd St', city: 'LA' }] }
C. { name: 'Eva', age: 28, addresses: { street: '1st Ave', city: 'NY' }, { street: '2nd St', city: 'LA' } }
D. [ name: 'Eva', age: 28, addresses: [{ street: '1st Ave', city: 'NY' }] ]

Solution

  1. Step 1: Understand nested documents and arrays

    Addresses is a list (array) of objects (documents), each with street and city fields.
  2. Step 2: Check each option's structure

    { name: 'Eva', age: 28, addresses: [{ street: '1st Ave', city: 'NY' }, { street: '2nd St', city: 'LA' }] } correctly uses an array of documents inside the addresses field. Others use strings, invalid syntax, or wrong brackets.
  3. Final Answer:

    { name: 'Eva', age: 28, addresses: [{ street: '1st Ave', city: 'NY' }, { street: '2nd St', city: 'LA' }] } -> Option B
  4. Quick Check:

    Array of nested documents = { name: 'Eva', age: 28, addresses: [{ street: '1st Ave', city: 'NY' }, { street: '2nd St', city: 'LA' }] } [OK]
Hint: Use array of documents for multiple nested objects [OK]
Common Mistakes:
  • Storing nested data as a plain string
  • Using invalid JSON syntax with multiple objects outside array
  • Using square brackets for entire document instead of curly braces