Bird
Raised Fist0
MongoDBquery~10 mins

Boolean and null types 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 find documents where the field "active" is true.

MongoDB
db.users.find({"active": [1] })
Drag options to blanks, or click blank then click option'
Atrue
Bnull
Cfalse
D"true"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "true" as a string instead of Boolean true.
Using false or null instead of true.
2fill in blank
medium

Complete the code to find documents where the field "deleted" is false.

MongoDB
db.records.find({"deleted": [1] })
Drag options to blanks, or click blank then click option'
Anull
Bfalse
C"false"
DTrue
Attempts:
3 left
💡 Hint
Common Mistakes
Using "false" as a string.
Using capitalized False or True.
3fill in blank
hard

Fix the error in the query to find documents where "status" is null.

MongoDB
db.orders.find({"status": [1] })
Drag options to blanks, or click blank then click option'
Anull
B"null"
Cundefined
DNone
Attempts:
3 left
💡 Hint
Common Mistakes
Using "null" as a string.
Using undefined or None which cause errors.
4fill in blank
hard

Fill both blanks to find documents where "verified" is true and "deleted" is null.

MongoDB
db.users.find({"verified": [1], "deleted": [2] })
Drag options to blanks, or click blank then click option'
Atrue
Bfalse
Cnull
D"true"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "true" or "null" as strings.
Mixing true and false incorrectly.
5fill in blank
hard

Fill all three blanks to find documents where "active" is false, "deleted" is null, and "confirmed" is true.

MongoDB
db.accounts.find({"active": [1], "deleted": [2], "confirmed": [3] })
Drag options to blanks, or click blank then click option'
Atrue
Bfalse
Cnull
D"false"
Attempts:
3 left
💡 Hint
Common Mistakes
Using quoted strings for Boolean or null.
Mixing true and false values incorrectly.

Practice

(1/5)
1. What does the Boolean type represent in MongoDB?
easy
A. Text strings
B. Numbers only
C. True or false values
D. Dates and times

Solution

  1. Step 1: Understand Boolean type meaning

    Boolean type stores only two possible values: true or false.
  2. Step 2: Compare with other data types

    Numbers, strings, and dates are different types, not Boolean.
  3. Final Answer:

    True or false values -> Option C
  4. Quick Check:

    Boolean = true/false [OK]
Hint: Boolean means true or false only [OK]
Common Mistakes:
  • Confusing Boolean with numbers
  • Thinking Boolean stores text
  • Mixing Boolean with date types
2. Which of the following is the correct way to store a null value in a MongoDB document?
easy
A. { "field": "null" }
B. { "field": false }
C. { "field": 0 }
D. { "field": null }

Solution

  1. Step 1: Identify null value syntax

    In MongoDB, null is stored as the keyword null without quotes.
  2. Step 2: Check other options

    "null" is a string, 0 is a number, false is Boolean, so they are incorrect.
  3. Final Answer:

    { "field": null } -> Option D
  4. Quick Check:

    Null stored as null keyword [OK]
Hint: Use null without quotes for null values [OK]
Common Mistakes:
  • Using "null" as a string instead of null
  • Confusing 0 or false with null
  • Putting null in quotes
3. Given the MongoDB collection documents:
{ "active": true }, { "active": false }, { "active": null }

What will the query db.collection.find({ "active": { $eq: null } }) return?
medium
A. Documents where active is true
B. Documents where active is null
C. Documents where active is false
D. No documents

Solution

  1. Step 1: Understand $eq: null behavior

    In MongoDB, querying with { field: { $eq: null } } matches documents where field exists and is exactly null. It does not match missing fields.
  2. Step 2: Apply to given documents

    Only the document with "active": null matches; documents with true or false do not.
  3. Final Answer:

    Documents where active is null -> Option B
  4. Quick Check:

    $eq: null matches existing null [OK]
Hint: $eq: null matches existing null fields [OK]
Common Mistakes:
  • Thinking $eq: null matches missing fields
  • Confusing false or true as null
  • Expecting no results
4. You wrote this MongoDB query to find documents where isActive is false:
db.users.find({ isActive: False })

But it returns an error. What is the problem?
medium
A. Boolean false must be lowercase: false
B. Field name should be in quotes
C. Use $eq operator for Boolean
D. MongoDB does not support Boolean queries

Solution

  1. Step 1: Check Boolean syntax in MongoDB queries

    Boolean values in MongoDB queries must be lowercase: true or false.
  2. Step 2: Identify error cause

    Using capitalized False causes a syntax error because it's not recognized.
  3. Final Answer:

    Boolean false must be lowercase: false -> Option A
  4. Quick Check:

    Boolean literals are lowercase in queries [OK]
Hint: Use lowercase true/false in queries [OK]
Common Mistakes:
  • Using capitalized True or False
  • Omitting quotes on field names (allowed but not error)
  • Thinking $eq is required for Boolean
5. You want to find documents where the field verified is either false or null. Which MongoDB query correctly finds these documents?
hard
A. { verified: { $in: [false, null] } }
B. { verified: false }
C. { verified: { $ne: true } }
D. { verified: { $exists: false } }

Solution

  1. Step 1: Understand the requirement

    We want documents where verified is false OR null.
  2. Step 2: Analyze each option

    { verified: false } matches only false, not null. { verified: { $ne: true } } matches existing fields != true (false, null, other values), but not missing fields and includes unwanted values. { verified: { $exists: false } } matches only missing, not false. { verified: { $in: [false, null] } } uses $in to match false or null exactly.
  3. Final Answer:

    { verified: { $in: [false, null] } } -> Option A
  4. Quick Check:

    $in matches multiple values including null [OK]
Hint: Use $in with false and null to match both [OK]
Common Mistakes:
  • Using only false without null
  • Using $exists which misses false
  • Using $ne: true which matches unwanted values