Bird
Raised Fist0
MongoDBquery~5 mins

Document model mental model (JSON/BSON) in MongoDB - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is a document in MongoDB?
A document is a basic unit of data in MongoDB, stored in a format similar to JSON called BSON. It contains data as key-value pairs.
Click to reveal answer
intermediate
How does BSON differ from JSON?
BSON is a binary format that extends JSON by supporting additional data types like dates and binary data, making it efficient for storage and speed in MongoDB.
Click to reveal answer
beginner
Why is the document model compared to a real-life form or record?
Because like a form with fields and values, a document stores related information together in one place, making it easy to understand and use.
Click to reveal answer
intermediate
Can documents in MongoDB contain nested documents or arrays?
Yes, documents can have nested documents and arrays, allowing complex data structures to be stored in a single document.
Click to reveal answer
intermediate
What is the advantage of using a document model over traditional tables?
The document model stores related data together, reducing the need for complex joins and making data retrieval faster and more intuitive.
Click to reveal answer
What format does MongoDB use to store documents internally?
ABSON
BXML
CCSV
DYAML
Which of the following can a MongoDB document contain?
ANested documents and arrays
BOnly simple key-value pairs
COnly arrays
DOnly strings
Why is BSON preferred over JSON in MongoDB?
ABecause BSON is text-based
BBecause BSON is human-readable
CBecause BSON supports additional data types and is faster to process
DBecause BSON is smaller than JSON
In the document model, data is stored as:
ARows and columns
BKey-value pairs inside documents
CFlat files
DLinked lists
What is a key benefit of the document model compared to relational tables?
ARequires more joins
BUses fixed schema
CCannot store arrays
DStores related data together in one place
Explain the document model in MongoDB using a real-life analogy.
Think about how you fill out a form with different fields and sometimes sections inside it.
You got /4 concepts.
    Describe the differences and advantages of BSON compared to JSON in MongoDB.
    Consider why MongoDB would choose a format that is not plain text.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following best describes a MongoDB document?
      easy
      A. A compiled program file
      B. A table with rows and columns like in SQL
      C. A set of key-value pairs similar to a JSON object
      D. A flat file storing plain text data

      Solution

      1. Step 1: Understand MongoDB document structure

        MongoDB stores data as documents, which are collections of key-value pairs similar to JSON objects.
      2. Step 2: Compare with other data formats

        Unlike tables or flat files, documents can store nested data and arrays, making them flexible and structured.
      3. Final Answer:

        A set of key-value pairs similar to a JSON object -> Option C
      4. Quick Check:

        Document = JSON-like key-value pairs [OK]
      Hint: Think JSON object when you hear MongoDB document [OK]
      Common Mistakes:
      • Confusing documents with SQL tables
      • Thinking documents are flat text files
      • Assuming documents are executable files
      2. Which of the following is the correct way to represent a nested document in MongoDB?
      easy
      A. { "name": "Alice", "address": { "city": "NY", "zip": 10001 } }
      B. { "name": "Alice", "address": "city: NY, zip: 10001" }
      C. { "name": "Alice", "address": ["city", "NY", "zip", 10001] }
      D. { "name": "Alice", "address": ("city": "NY", "zip": 10001) }

      Solution

      1. Step 1: Identify correct JSON syntax for nested documents

        Nested documents are represented as objects inside another object using curly braces {} with key-value pairs.
      2. Step 2: Check each option's syntax

        { "name": "Alice", "address": { "city": "NY", "zip": 10001 } } uses proper JSON syntax with nested braces. The other options use incorrect formats like strings, arrays, or parentheses.
      3. Final Answer:

        { "name": "Alice", "address": { "city": "NY", "zip": 10001 } } -> Option A
      4. Quick Check:

        Nested document = object inside object with braces [OK]
      Hint: Nested documents use curly braces inside braces [OK]
      Common Mistakes:
      • Using strings instead of nested objects
      • Using arrays for nested key-value pairs
      • Using parentheses instead of braces
      3. Given the document { "name": "Bob", "scores": [85, 90, 78] }, what is the value of the scores field?
      medium
      A. "85, 90, 78"
      B. [85, 90, 78]
      C. {85: true, 90: true, 78: true}
      D. 85

      Solution

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

        The scores field contains square brackets [], which represent an array in JSON/BSON.
      2. Step 2: Understand array representation

        The array holds the numbers 85, 90, and 78 as elements, so the value is the list [85, 90, 78].
      3. Final Answer:

        [85, 90, 78] -> Option B
      4. Quick Check:

        Square brackets = array = [85, 90, 78] [OK]
      Hint: Square brackets mean array, not string or object [OK]
      Common Mistakes:
      • Confusing array with string
      • Thinking array is a key-value object
      • Selecting only one element instead of full array
      4. Identify the error in this MongoDB document: { "title": "Book", "pages": "300", "author": { "name": "John", "age": 45 }
      medium
      A. Missing closing brace for the document
      B. Pages field should be a number, not a string
      C. Title field cannot be a string
      D. Author name must be an array

      Solution

      1. Step 1: Check document syntax carefully

        The document starts with { but does not have a matching closing brace } at the end.
      2. Step 2: Validate other fields

        While pages is a string, MongoDB allows strings for numbers; title as string is valid; author.name as string is valid.
      3. Final Answer:

        Missing closing brace for the document -> Option A
      4. Quick Check:

        Every { must have matching } [OK]
      Hint: Count opening and closing braces carefully [OK]
      Common Mistakes:
      • Ignoring missing braces
      • Thinking string numbers are invalid
      • Assuming arrays are required for nested objects
      5. You want to store a product with multiple colors and a supplier's contact info inside one MongoDB document. Which structure correctly models this?
      hard
      A. { "product": "Shirt", "colors": "red, blue", "supplier": "ABC Co, 123-456" }
      B. { "product": "Shirt", "colors": ("red", "blue"), "supplier": { "name": "ABC Co", "phone": 123456 } }
      C. { "product": "Shirt", "colors": { "red": true, "blue": true }, "supplier": ["ABC Co", "123-456"] }
      D. { "product": "Shirt", "colors": ["red", "blue"], "supplier": { "name": "ABC Co", "phone": "123-456" } }

      Solution

      1. Step 1: Understand how to store multiple values and nested info

        Multiple colors should be stored as an array, and supplier info as a nested document with key-value pairs.
      2. Step 2: Evaluate each option's structure

        { "product": "Shirt", "colors": ["red", "blue"], "supplier": { "name": "ABC Co", "phone": "123-456" } } correctly uses an array for colors and a nested document for supplier. { "product": "Shirt", "colors": "red, blue", "supplier": "ABC Co, 123-456" } uses strings instead of structured data. { "product": "Shirt", "colors": { "red": true, "blue": true }, "supplier": ["ABC Co", "123-456"] } uses an object for colors incorrectly and an array for supplier. { "product": "Shirt", "colors": ("red", "blue"), "supplier": { "name": "ABC Co", "phone": 123456 } } uses parentheses which are invalid in JSON.
      3. Final Answer:

        { "product": "Shirt", "colors": ["red", "blue"], "supplier": { "name": "ABC Co", "phone": "123-456" } } -> Option D
      4. Quick Check:

        Arrays for lists, objects for nested info [OK]
      Hint: Use arrays for lists, objects for nested details [OK]
      Common Mistakes:
      • Using strings instead of arrays for multiple values
      • Using invalid parentheses instead of braces
      • Confusing arrays and objects for nested data