Bird
Raised Fist0
MongoDBquery~10 mins

$each modifier with $push in MongoDB - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add multiple items to the array field using $push with $each.

MongoDB
db.collection.updateOne({ _id: 1 }, { $push: { scores: { $each: [1] } } })
Drag options to blanks, or click blank then click option'
A85, 90, 95
B{85, 90, 95}
C(85, 90, 95)
D[85, 90, 95]
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces instead of square brackets for the list of values.
Passing values without an array.
2fill in blank
medium

Complete the code to add multiple tags to a document's tags array using $push and $each.

MongoDB
db.collection.updateOne({ name: 'book' }, { $push: { tags: { $each: [1] } } })
Drag options to blanks, or click blank then click option'
A['fiction', 'bestseller']
B{'fiction', 'bestseller'}
C'fiction', 'bestseller'
D(fiction, bestseller)
Attempts:
3 left
💡 Hint
Common Mistakes
Using quotes without brackets, which is not an array.
Using parentheses or curly braces instead of square brackets.
3fill in blank
hard

Fix the error in the update command to correctly add multiple scores using $push with $each.

MongoDB
db.collection.updateOne({ _id: 2 }, { $push: { scores: { $each: [1] } } })
Drag options to blanks, or click blank then click option'
A{88, 92, 85}
B[88, 92, 85]
C88, 92, 85
D(88, 92, 85)
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces or parentheses instead of square brackets.
Passing values without any brackets.
4fill in blank
hard

Fill both blanks to add multiple new tags and sort them in ascending order.

MongoDB
db.collection.updateOne({ _id: 3 }, { $push: { tags: { $each: [1], $sort: [2] } } })
Drag options to blanks, or click blank then click option'
A['new', 'sale']
B1
C-1
D['old', 'clearance']
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-array value for $each.
Using -1 for ascending sort instead of 1.
5fill in blank
hard

Fill all three blanks to add multiple scores, slice the array to keep only the last 3, and sort descending.

MongoDB
db.collection.updateOne({ _id: 4 }, { $push: { scores: { $each: [1], $slice: [2], $sort: [3] } } })
Drag options to blanks, or click blank then click option'
A[70, 75, 80]
B-3
C-1
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using positive number for $slice to keep first elements instead of last.
Using 1 for $sort when descending order is needed.

Practice

(1/5)
1. What does the $each modifier do when used with $push in MongoDB?
easy
A. It sorts the array elements after pushing a new value.
B. It adds multiple values to an array in a single update operation.
C. It replaces the entire array with a new set of values.
D. It removes multiple values from an array.

Solution

  1. Step 1: Understand $push usage

    $push adds elements to an array field in a document.
  2. Step 2: Role of $each modifier

    $each allows adding multiple elements at once inside $push, making the update efficient.
  3. Final Answer:

    It adds multiple values to an array in a single update operation. -> Option B
  4. Quick Check:

    $each adds many items [OK]
Hint: Remember: $each adds many items inside $push [OK]
Common Mistakes:
  • Thinking $each removes items
  • Using $each outside $push
  • Confusing $each with sorting
2. Which of the following is the correct syntax to add multiple values ["a", "b", "c"] to the array field tags using $push with $each?
easy
A. { $push: { tags: { $each: ["a", "b", "c"] } } }
B. { $push: { tags: ["a", "b", "c"] } }
C. { $push: { tags: { $add: ["a", "b", "c"] } } }
D. { $push: { tags: { $each: "a", "b", "c" } } }

Solution

  1. Step 1: Check correct $push syntax

    $push requires a field and a value or modifier object.
  2. Step 2: Validate $each usage

    $each must be an array inside $push to add multiple items.
  3. Final Answer:

    { $push: { tags: { $each: ["a", "b", "c"] } } } -> Option A
  4. Quick Check:

    Correct $each syntax = { $push: { tags: { $each: ["a", "b", "c"] } } } [OK]
Hint: Use $each with an array inside $push [OK]
Common Mistakes:
  • Passing array directly without $each
  • Using invalid operator like $add
  • Incorrect $each format without array brackets
3. Given the document { _id: 1, colors: ["red"] }, what will be the colors array after running this update?
{ $push: { colors: { $each: ["blue", "green"] } } }
medium
A. ["red", ["blue", "green"]]
B. ["blue", "green"]
C. ["red", "blue", "green"]
D. ["red"]

Solution

  1. Step 1: Initial array and update operation

    Original array is ["red"]. The update uses $push with $each to add "blue" and "green".
  2. Step 2: Effect of $each inside $push

    $each adds each element individually, so "blue" and "green" are appended to the array.
  3. Final Answer:

    ["red", "blue", "green"] -> Option C
  4. Quick Check:

    Array after update = ["red", "blue", "green"] [OK]
Hint: $each adds items individually, not as a nested array [OK]
Common Mistakes:
  • Expecting nested array inside colors
  • Replacing array instead of pushing
  • Ignoring original array elements
4. What is wrong with this update operation?
{ $push: { items: { $each: "apple", "banana" } } }
medium
A. The $each value must be an array, not separate strings.
B. The $push operator cannot be used with $each.
C. The field name items is invalid.
D. The update syntax is correct and will work as expected.

Solution

  1. Step 1: Analyze $each value type

    $each requires an array of values, but here it is given as separate strings without array brackets.
  2. Step 2: Identify syntax error

    Passing multiple strings without array brackets causes a syntax error in MongoDB update.
  3. Final Answer:

    The $each value must be an array, not separate strings. -> Option A
  4. Quick Check:

    $each needs array brackets [OK]
Hint: Always wrap $each values in square brackets [OK]
Common Mistakes:
  • Passing multiple values without array brackets
  • Confusing $each with $addToSet
  • Assuming $push alone can add multiple items
5. You want to add multiple new tags ["urgent", "review", "backend"] to the tags array of a document, but only if they are not already present. Which update operation correctly uses $push with $each and ensures no duplicates?
hard
A. { $push: { tags: { $each: ["urgent", "review", "backend"] } } }
B. { $addToSet: { tags: ["urgent", "review", "backend"] } }
C. { $push: { tags: ["urgent", "review", "backend"] } }
D. { $addToSet: { tags: { $each: ["urgent", "review", "backend"] } } }

Solution

  1. Step 1: Understand requirement to avoid duplicates

    $push adds items regardless of duplicates, so it doesn't fit the requirement.
  2. Step 2: Use $addToSet with $each

    $addToSet adds unique values only, and supports $each to add multiple items without duplicates.
  3. Final Answer:

    { $addToSet: { tags: { $each: ["urgent", "review", "backend"] } } } -> Option D
  4. Quick Check:

    $addToSet + $each avoids duplicates [OK]
Hint: Use $addToSet with $each to add unique items [OK]
Common Mistakes:
  • Using $push which allows duplicates
  • Not using $each with $addToSet
  • Passing array directly without $each
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard