Bird
Raised Fist0
MongoDBquery~20 mins

Arithmetic expressions ($add, $multiply, $divide) in MongoDB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Arithmetic Expressions Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
2:00remaining
What is the output of this MongoDB aggregation?
Given a collection with documents like {"value1": 10, "value2": 5}, what will be the result of this aggregation pipeline stage?
{ $project: { result: { $add: ["$value1", "$value2"] } } }
MongoDB
{ $project: { result: { $add: ["$value1", "$value2"] } } }
A[{ "result": 5 }]
B[{ "result": 50 }]
C[{ "result": 15 }]
D[{ "result": 2 }]
Attempts:
2 left
💡 Hint
Think about what $add does with two numbers.
❓ query_result
intermediate
2:00remaining
What does this $multiply expression return?
For documents with fields {"a": 4, "b": 3}, what is the output of this aggregation stage?
{ $project: { product: { $multiply: ["$a", "$b"] } } }
MongoDB
{ $project: { product: { $multiply: ["$a", "$b"] } } }
A[{ "product": 0 }]
B[{ "product": 7 }]
C[{ "product": 1.33 }]
D[{ "product": 12 }]
Attempts:
2 left
💡 Hint
Multiply the two numbers.
📝 Syntax
advanced
2:00remaining
Which option causes a syntax error in this $divide expression?
Identify which aggregation stage will cause a syntax error when trying to divide two fields:
{ $project: { ratio: { $divide: ["$num", "$den"] } } }
MongoDB
{ $project: { ratio: { $divide: ["$num", "$den"] } } }
A{ $project: { ratio: { $divide: "$num" } } }
B{ $project: { ratio: { $divide: ["$num", "$den"] } } }
C{ $project: { ratio: { $divide: ["$num"] } } }
D{ $project: { ratio: { $divide: ["$num", "$den", "$extra"] } } }
Attempts:
2 left
💡 Hint
Check the number of arguments $divide expects.
❓ query_result
advanced
2:00remaining
What is the output of this nested arithmetic expression?
Given documents with {"x": 8, "y": 2, "z": 4}, what is the result of this aggregation stage?
{ $project: { result: { $add: [ { $multiply: ["$x", "$y"] }, { $divide: ["$z", 2] } ] } } }
MongoDB
{ $project: { result: { $add: [ { $multiply: ["$x", "$y"] }, { $divide: ["$z", 2] } ] } } }
A[{ "result": 18 }]
B[{ "result": 20 }]
C[{ "result": 16 }]
D[{ "result": 12 }]
Attempts:
2 left
💡 Hint
Calculate multiplication and division first, then add.
🧠 Conceptual
expert
2:00remaining
Why does this $divide operation return null?
Consider documents with {"a": 10, "b": 0}. What is the output of this aggregation stage?
{ $project: { result: { $divide: ["$a", "$b"] } } }

Why does it return null instead of an error?
MongoDB
{ $project: { result: { $divide: ["$a", "$b"] } } }
AMongoDB throws a syntax error for division by zero.
BMongoDB returns null to avoid runtime errors when dividing by zero.
CMongoDB returns Infinity for division by zero.
DMongoDB returns zero when dividing by zero.
Attempts:
2 left
💡 Hint
Think about how MongoDB handles invalid math operations.

Practice

(1/5)
1. What does the MongoDB expression { $add: [5, 3] } do?
easy
A. Multiplies 5 and 3 to get 15
B. Adds 5 and 3 to get 8
C. Divides 5 by 3 to get 1.67
D. Subtracts 3 from 5 to get 2

Solution

  1. Step 1: Understand the $add operator

    The $add operator sums the numbers inside the array.
  2. Step 2: Calculate the sum of 5 and 3

    5 + 3 equals 8.
  3. Final Answer:

    Adds 5 and 3 to get 8 -> Option B
  4. Quick Check:

    $add: [5, 3] = 8 [OK]
Hint: Remember $add sums all values inside the array [OK]
Common Mistakes:
  • Confusing $add with $multiply
  • Thinking $add subtracts values
  • Assuming $add divides numbers
2. Which of the following is the correct syntax to multiply 4 by 7 using MongoDB arithmetic expressions?
easy
A. { $multiply: [4, 7] }
B. { $multiply: 4, 7 }
C. { $multiply: (4, 7) }
D. { multiply: [4, 7] }

Solution

  1. Step 1: Recall correct operator syntax

    MongoDB arithmetic operators use $ followed by the operator name and an array of values.
  2. Step 2: Check each option

    { $multiply: [4, 7] } uses $multiply with an array [4, 7], which is correct syntax.
  3. Final Answer:

    { $multiply: [4, 7] } -> Option A
  4. Quick Check:

    Correct syntax uses $multiply with array [OK]
Hint: Use square brackets [] for values in $multiply [OK]
Common Mistakes:
  • Omitting $ before multiply
  • Using parentheses instead of brackets
  • Passing values without array brackets
3. Given the MongoDB aggregation expression { $divide: [ { $multiply: [10, 5] }, 2 ] }, what is the result?
medium
A. 25
B. 100
C. 2.5
D. 50

Solution

  1. Step 1: Calculate the inner $multiply expression

    $multiply: [10, 5] equals 50.
  2. Step 2: Divide the result by 2

    $divide: [50, 2] equals 25.
  3. Final Answer:

    25 -> Option A
  4. Quick Check:

    (10 * 5) / 2 = 25 [OK]
Hint: Calculate inner expressions first, then outer [OK]
Common Mistakes:
  • Dividing 10 by 5 instead of multiplying
  • Forgetting to divide after multiplication
  • Mixing order of operations
4. Identify the error in this MongoDB expression: { $divide: [10, { $add: 2, 3 }] }
medium
A. There is no error; the expression is correct
B. The $divide operator cannot divide numbers
C. The numbers 10, 2, and 3 must be strings
D. The $add operator must have an array of values, not separate arguments

Solution

  1. Step 1: Check $add operator usage

    $add requires an array of values, but { $add: 2, 3 } uses separate arguments incorrectly.
  2. Step 2: Confirm correct syntax

    The correct syntax is { $add: [2, 3] } with square brackets.
  3. Final Answer:

    The $add operator must have an array of values, not separate arguments -> Option D
  4. Quick Check:

    $add needs array syntax [OK]
Hint: Always use square brackets [] for $add values [OK]
Common Mistakes:
  • Using commas instead of array brackets
  • Assuming $divide cannot divide numbers
  • Passing numbers as strings
5. You want to calculate the average price of items stored in a MongoDB collection using aggregation. Which expression correctly calculates the average price if you have total price as { $add: ["$price1", "$price2", "$price3"] } and want to divide by 3?
hard
A. { $multiply: [ { $add: ["$price1", "$price2", "$price3"] }, 3 ] }
B. { $add: [ { $divide: ["$price1", 3] }, { $divide: ["$price2", 3] }, { $divide: ["$price3", 3] } ] }
C. { $divide: [ { $add: ["$price1", "$price2", "$price3"] }, 3 ] }
D. { $divide: [ 3, { $add: ["$price1", "$price2", "$price3"] } ] }

Solution

  1. Step 1: Understand the average formula

    Average = (sum of values) / number of values.
  2. Step 2: Check each option

    { $divide: [ { $add: ["$price1", "$price2", "$price3"] }, 3 ] } sums prices then divides by 3, matching the average formula.
  3. Final Answer:

    { $divide: [ { $add: ["$price1", "$price2", "$price3"] }, 3 ] } -> Option C
  4. Quick Check:

    Sum prices then divide by count = average [OK]
Hint: Sum first, then divide by count for average [OK]
Common Mistakes:
  • Dividing each price separately then adding
  • Multiplying sum by count instead of dividing
  • Dividing count by sum instead of sum by count
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