Bird
Raised Fist0
MongoDBquery~10 mins

BSON data types overview in MongoDB - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to insert a document with a string field in MongoDB.

MongoDB
db.collection.insertOne({ name: [1] })
Drag options to blanks, or click blank then click option'
Anull
B123
C"Alice"
Dtrue
Attempts:
3 left
💡 Hint
Common Mistakes
Not using quotes around string values.
Using numbers or booleans instead of strings.
2fill in blank
medium

Complete the code to insert a document with a boolean field in MongoDB.

MongoDB
db.collection.insertOne({ active: [1] })
Drag options to blanks, or click blank then click option'
A"true"
Btrue
C"false"
DFalse
Attempts:
3 left
💡 Hint
Common Mistakes
Using quotes around boolean values.
Using capitalized False instead of lowercase false.
3fill in blank
hard

Fix the error in the code to insert a document with a date field in MongoDB.

MongoDB
db.collection.insertOne({ createdAt: [1] })
Drag options to blanks, or click blank then click option'
Anew Date()
B"new Date()"
CDate()
Ddate()
Attempts:
3 left
💡 Hint
Common Mistakes
Putting new Date() inside quotes, making it a string.
Using Date() without new, which returns a string.
4fill in blank
hard

Fill both blanks to create a document with an ObjectId and a null field.

MongoDB
db.collection.insertOne({ _id: [1], deletedAt: [2] })
Drag options to blanks, or click blank then click option'
AObjectId()
Bnull
Cundefined
Dnew ObjectId()
Attempts:
3 left
💡 Hint
Common Mistakes
Using undefined instead of null.
Using new ObjectId() which is valid but not the preferred shorthand here.
5fill in blank
hard

Fill all three blanks to create a document with a binary data field, a decimal number, and an array.

MongoDB
db.collection.insertOne({ data: [1], price: [2], tags: [3] })
Drag options to blanks, or click blank then click option'
ABinData(0, "AQID")
BDecimal128("19.99")
C["sale", "new"]
DBuffer.from("AQID")
Attempts:
3 left
💡 Hint
Common Mistakes
Using Buffer.from which is Node.js specific, not BSON.
Using strings instead of arrays for tags.

Practice

(1/5)
1. Which BSON data type is used to store a unique identifier for documents in MongoDB?
easy
A. Date
B. String
C. ObjectId
D. Boolean

Solution

  1. Step 1: Understand the purpose of ObjectId

    ObjectId is a special BSON type designed to uniquely identify documents in MongoDB collections.
  2. Step 2: Compare with other types

    String stores text, Boolean stores true/false, Date stores time values. None of these uniquely identify documents like ObjectId.
  3. Final Answer:

    ObjectId -> Option C
  4. Quick Check:

    BSON unique ID = ObjectId [OK]
Hint: Unique document IDs in MongoDB are ObjectIds [OK]
Common Mistakes:
  • Confusing String with ObjectId for unique IDs
  • Thinking Boolean can identify documents
  • Assuming Date stores unique identifiers
2. Which of the following is the correct BSON data type to store a true or false value in MongoDB?
easy
A. Integer
B. Boolean
C. String
D. Array

Solution

  1. Step 1: Identify the BSON type for true/false

    Boolean is the BSON data type used to store true or false values.
  2. Step 2: Eliminate other types

    Integer stores numbers, String stores text, Array stores lists. None represent true/false directly.
  3. Final Answer:

    Boolean -> Option B
  4. Quick Check:

    True/false = Boolean [OK]
Hint: True or false values use Boolean type [OK]
Common Mistakes:
  • Using Integer for true/false
  • Confusing String with Boolean
  • Choosing Array for single true/false
3. Given the following MongoDB document:
{ "name": "Alice", "age": 30, "member": true }
What BSON data types are used for the fields name, age, and member respectively?
medium
A. String, Boolean, Integer
B. String, String, Boolean
C. ObjectId, Integer, Boolean
D. String, Integer, Boolean

Solution

  1. Step 1: Identify each field's value type

    "name" is text, so String; "age" is a number, so Integer; "member" is true/false, so Boolean.
  2. Step 2: Match with options

    String, Integer, Boolean matches String, Integer, Boolean in order. Others mismatch types.
  3. Final Answer:

    String, Integer, Boolean -> Option D
  4. Quick Check:

    Text, number, true/false = String, Integer, Boolean [OK]
Hint: Match field values to String, Integer, Boolean types [OK]
Common Mistakes:
  • Confusing Integer with String for numbers
  • Mixing Boolean and Integer types
  • Assuming ObjectId for name field
4. You try to insert this document into MongoDB:
{ "date": "2023-01-01" }
But you want the date field to be stored as a BSON Date type. What is the issue and how to fix it?
medium
A. The date is a string; convert it to BSON Date using ISODate()
B. The date is missing; add a date field
C. The date format is invalid; use YYYY/DD/MM instead
D. MongoDB does not support Date type; use String instead

Solution

  1. Step 1: Identify the current data type of date field

    The date is stored as a string because it is enclosed in quotes.
  2. Step 2: Convert string to BSON Date type

    Use MongoDB's ISODate() function to store the date as BSON Date type.
  3. Final Answer:

    The date is a string; convert it to BSON Date using ISODate() -> Option A
  4. Quick Check:

    Date string needs ISODate() for BSON Date [OK]
Hint: Use ISODate() to store dates, not strings [OK]
Common Mistakes:
  • Assuming string is automatically Date
  • Changing date format incorrectly
  • Believing MongoDB lacks Date type
5. You want to store a list of tags for a blog post in MongoDB. Which BSON data type should you use to store multiple tag strings together?
hard
A. Array
B. ObjectId
C. Boolean
D. Date

Solution

  1. Step 1: Understand the need to store multiple values

    A list of tags means multiple values grouped together.
  2. Step 2: Identify BSON type for multiple values

    Array is the BSON type used to store lists or collections of values.
  3. Final Answer:

    Array -> Option A
  4. Quick Check:

    Multiple values = Array type [OK]
Hint: Use Array type for lists of values [OK]
Common Mistakes:
  • Using ObjectId for lists
  • Choosing Boolean for multiple tags
  • Trying to store list as Date