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 does the $inc operator do in MongoDB?
The $inc operator increases or decreases the value of a field by a specified amount. It is used to update numeric values without replacing the whole document.
Click to reveal answer
beginner
How do you increment a field named score by 5 using $inc?
Use { $inc: { score: 5 } } in the update query to add 5 to the current value of score.
Click to reveal answer
beginner
Can $inc be used to decrement a value? How?
Yes, by using a negative number. For example, { $inc: { score: -3 } } decreases the score by 3.
Click to reveal answer
intermediate
What happens if the field you want to increment does not exist?
MongoDB creates the field and sets it to the increment value. For example, if score doesn't exist, { $inc: { score: 1 } } creates score with value 1.
Click to reveal answer
intermediate
Is $inc atomic in MongoDB? Why is this important?
Yes, $inc is atomic, meaning it safely increments the value even if multiple updates happen at the same time. This prevents conflicts and data loss.
Click to reveal answer
What does { $inc: { count: 2 } } do in MongoDB?
AAdds 2 to the current value of <code>count</code>
BSets <code>count</code> to 2
CDeletes the <code>count</code> field
DMultiplies <code>count</code> by 2
✗ Incorrect
$inc adds the specified number to the current value of the field.
If score does not exist, what will { $inc: { score: 1 } } do?
ASet <code>score</code> to null
BThrow an error
CIgnore the update
DCreate <code>score</code> with value 1
✗ Incorrect
MongoDB creates the field and sets it to the increment value if it does not exist.
How do you decrease a field value by 4 using $inc?
A{ $dec: { field: 4 } }
B{ $inc: { field: 4 } }
C{ $inc: { field: -4 } }
D{ $dec: { field: -4 } }
✗ Incorrect
Using a negative number with $inc decreases the field value.
Is $inc operation atomic in MongoDB?
ANo, it can cause conflicts
BYes, it prevents race conditions
COnly on replica sets
DOnly on sharded clusters
✗ Incorrect
$inc is atomic, so it safely updates values even with concurrent operations.
Which of the following is a valid use of $inc?
A{ $inc: { age: 1 } }
B{ $inc: { status: true } }
C{ $inc: { active: 'yes' } }
D{ $inc: { name: 1 } }
✗ Incorrect
$inc works only on numeric fields like age.
Explain how the $inc operator works in MongoDB and give an example of incrementing and decrementing a field.
Think about adding or subtracting numbers from a field.
You got /4 concepts.
Why is atomicity important for the $inc operator in MongoDB?
Consider what happens if two people try to update the same number at once.
You got /3 concepts.
Practice
(1/5)
1. What does the $inc operator do in MongoDB?
easy
A. It creates a new collection.
B. It increments or decrements the value of a numeric field.
C. It deletes a field from the document.
D. It replaces the entire document with a new one.
Solution
Step 1: Understand the purpose of $inc
The $inc operator is used to add or subtract a number from an existing numeric field in a document.
Step 2: Compare with other options
Replacing documents, deleting fields, or creating collections are not functions of $inc.
Final Answer:
It increments or decrements the value of a numeric field. -> Option B
Quick Check:
$inc changes numbers by adding/subtracting [OK]
Hint: Remember: $inc changes numbers, not documents [OK]
Common Mistakes:
Thinking $inc replaces the whole document
Confusing $inc with delete or create operations
Assuming $inc works on non-numeric fields
2. Which of the following is the correct syntax to increment the field score by 5 in MongoDB?
easy
A. { $inc: { score: '5' } }
B. { $inc: { score: '+5' } }
C. { $inc: { 'score': 'five' } }
D. { $inc: { score: 5 } }
Solution
Step 1: Check the value type for $inc
The value to increment must be a number, not a string or word.
Step 2: Validate syntax correctness
{ $inc: { score: 5 } } uses a number 5 correctly. { $inc: { score: '5' } } uses a string '5', which is invalid. { $inc: { 'score': 'five' } } uses a word 'five', invalid. { $inc: { score: '+5' } } uses a string '+5', invalid.
Final Answer:
{ $inc: { score: 5 } } -> Option D
Quick Check:
Use number values with $inc [OK]
Hint: Use numeric values without quotes for $inc [OK]
Common Mistakes:
Using strings instead of numbers for increment values
Adding plus sign (+) inside JSON value
Using words instead of numeric literals
3. Given a document { _id: 1, count: 10 }, what will be the document after running db.collection.updateOne({ _id: 1 }, { $inc: { count: -3 } })?
medium
A. { _id: 1, count: -3 }
B. { _id: 1, count: 13 }
C. { _id: 1, count: 7 }
D. { _id: 1, count: 10 }
Solution
Step 1: Understand the initial document
The document has count equal to 10.
Step 2: Apply the $inc operation with -3
Subtract 3 from 10: 10 - 3 = 7.
Final Answer:
{ _id: 1, count: 7 } -> Option C
Quick Check:
10 + (-3) = 7 [OK]
Hint: Subtract by using negative numbers with $inc [OK]
Common Mistakes:
Adding instead of subtracting when using negative values
Replacing the whole document instead of updating
Assuming $inc only increments, not decrements
4. You run this update: db.collection.updateOne({ _id: 2 }, { $inc: { visits: 1 } }) but get an error. What is the most likely cause?
medium
A. The visits field is a string, not a number.
B. The _id field is missing in the query.
C. The $inc operator cannot increment by 1.
D. The collection does not exist.
Solution
Step 1: Understand $inc requirements
$inc only works on numeric fields. If visits is a string, it causes an error.
Step 2: Check other options
Missing _id would not cause this error if the document exists. $inc can increment by 1. Collection existence error would be different.
Final Answer:
The visits field is a string, not a number. -> Option A
Quick Check:
$inc needs numeric fields [OK]
Hint: Ensure field is numeric before using $inc [OK]
Common Mistakes:
Trying to increment string fields
Assuming $inc works on any data type
Ignoring error messages about field types
5. You want to increment the likes field by 1 for all documents where likes does not exist yet. Which update command will correctly do this without errors?