An index helps MongoDB find data quickly without scanning every document in a collection, similar to how a book's index helps you find a topic fast.
Click to reveal answer
intermediate
Describe the B-tree structure used in MongoDB indexes.
A B-tree is a balanced tree with nodes containing keys and pointers. It keeps data sorted and allows fast searches, inserts, and deletes by narrowing down where to look step-by-step.
Click to reveal answer
intermediate
How does MongoDB use B-tree indexes to speed up queries?
MongoDB uses the B-tree to quickly find the range or exact key by traversing from the root node down to the leaf nodes, avoiding scanning all documents.
Click to reveal answer
intermediate
What happens when you insert a new document in a collection with an index?
MongoDB updates the B-tree index by adding the new key in the correct position, keeping the tree balanced for fast future searches.
Click to reveal answer
advanced
Why is the B-tree called 'balanced' and why is that important?
The B-tree keeps all leaf nodes at the same depth, so every search takes about the same time. This balance ensures consistent and fast query performance.
Click to reveal answer
What does a MongoDB index primarily help with?
ASpeeding up data retrieval
BIncreasing storage space
CBacking up data
DEncrypting data
✗ Incorrect
Indexes help MongoDB find data faster by avoiding full collection scans.
In a B-tree, what do the nodes contain?
AOnly data values
BKeys and pointers to child nodes
CUser passwords
DNetwork addresses
✗ Incorrect
B-tree nodes hold keys and pointers to child nodes to guide searches.
Why is the B-tree structure important for MongoDB indexes?
AIt balances the tree for fast searches
BIt compresses data
CIt encrypts data
DIt stores images
✗ Incorrect
The balanced B-tree ensures quick and consistent search times.
When a new document is added, how does MongoDB update the index?
ADeletes the old index
BRebuilds the entire index
CIgnores the index
DInserts the new key in the B-tree maintaining balance
✗ Incorrect
MongoDB inserts the new key in the B-tree to keep the index updated and balanced.
What does it mean that a B-tree is 'balanced'?
AIt stores data in alphabetical order
BIt has equal numbers of keys and pointers
CAll leaf nodes are at the same depth
DIt uses equal memory for each node
✗ Incorrect
Balanced means all leaf nodes are at the same level, ensuring uniform search times.
Explain how MongoDB uses a B-tree index to find documents quickly.
Think about how a tree helps you narrow down where to look step-by-step.
You got /4 concepts.
Describe why keeping the B-tree balanced is important for MongoDB index performance.
Imagine a tree where every path to data is equally short.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of an index in MongoDB using a B-tree structure?
easy
A. To encrypt data for security
B. To store data in a compressed format
C. To speed up search and sort operations on data
D. To backup the database automatically
Solution
Step 1: Understand what a B-tree index does
A B-tree index organizes data so that searching and sorting can happen quickly.
Step 2: Identify the main benefit of indexing
Indexes help queries find data faster by avoiding full collection scans.
Final Answer:
To speed up search and sort operations on data -> Option C
Quick Check:
Index = Faster search and sort [OK]
Hint: Indexes speed up queries by organizing data [OK]
Common Mistakes:
Thinking indexes compress data
Confusing indexes with backups
Assuming indexes encrypt data
2. Which of the following is the correct syntax to create an ascending index on the field age in MongoDB?
easy
A. db.collection.createIndex({age: 1})
B. db.collection.createIndex(age: ascending)
C. db.collection.index({age: 'asc'})
D. db.collection.addIndex({age: 1})
Solution
Step 1: Recall MongoDB index creation syntax
The correct method is createIndex with a document specifying field and order.
Step 2: Check the correct format for ascending order
Ascending order is represented by 1, so {age: 1} is correct.
Final Answer:
db.collection.createIndex({age: 1}) -> Option A
Quick Check:
createIndex + {field: 1} = correct syntax [OK]
Hint: Use createIndex({field: 1}) for ascending index [OK]
Common Mistakes:
Using addIndex instead of createIndex
Passing string 'asc' instead of 1
Omitting curly braces around field
3. Given a collection with an index on score, what will be the order of documents returned by this query? db.collection.find().sort({score: 1})
medium
A. Documents sorted by score in descending order
B. Documents sorted by insertion order
C. Documents in random order
D. Documents sorted by score in ascending order
Solution
Step 1: Understand the sort parameter
The sort({score: 1}) means sort by score ascending (lowest to highest).
Step 2: Recognize index usage
Since there is an index on score, MongoDB uses it to return documents in ascending order efficiently.
Final Answer:
Documents sorted by score in ascending order -> Option D
Quick Check:
sort({score: 1}) = ascending order [OK]
Hint: sort({field: 1}) means ascending order [OK]
Common Mistakes:
Confusing 1 with descending order
Assuming no order without explicit index
Thinking insertion order is default
4. You created a unique index on the field email but still see duplicate emails in your collection. What is the likely cause?
medium
A. The index was created with ascending order instead of unique
B. The unique index was created after duplicates existed
C. MongoDB does not enforce uniqueness on indexes
D. The field email is missing in some documents
Solution
Step 1: Understand unique index behavior
Unique indexes prevent duplicates only for new inserts after index creation.
Step 2: Consider existing duplicates
If duplicates existed before creating the unique index, MongoDB allows them unless you drop or clean data first.
Final Answer:
The unique index was created after duplicates existed -> Option B
Quick Check:
Unique index blocks new duplicates, not old ones [OK]
Hint: Unique index blocks new duplicates, not existing ones [OK]
Common Mistakes:
Thinking ascending order affects uniqueness
Believing MongoDB ignores unique constraints
Assuming missing fields cause duplicates
5. You want to optimize queries filtering by category and sorting by price. Which index is best to improve performance?
hard
A. A compound index on {category: 1, price: 1}
B. Two separate indexes: one on category, one on price
C. A unique index on price
D. No index needed if collection is small
Solution
Step 1: Understand compound index benefits
A compound index on {category: 1, price: 1} supports queries filtering by category and sorting by price efficiently.
Step 2: Compare with separate indexes
Separate indexes cannot optimize combined filter and sort as well as a compound index.
Step 3: Consider uniqueness and collection size
Unique index on price is irrelevant here; small collections may not need indexes but that is not optimization.
Final Answer:
A compound index on {category: 1, price: 1} -> Option A
Quick Check:
Compound index = best for filter + sort [OK]
Hint: Use compound index for filter and sort fields together [OK]
Common Mistakes:
Using separate indexes instead of compound
Confusing unique index with performance index
Ignoring index for small collections
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.