Type conversion expressions help change data from one type to another, like turning text into numbers or numbers into text. This is useful when you want to work with data in a specific way.
When you have a number stored as text and want to do math with it.
When you want to display a number as text for easier reading.
When combining different data types in one field and need them to match.
When filtering or sorting data that is stored as strings but should be numbers.
When preparing data for reports that require specific data types.
Syntax
MongoDB
{ $toInt: <expression> } or { $toString: <expression> }
$toInt converts the value to an integer number.
$toString converts the value to a string (text).
Examples
Converts the string "123" to the number 123.
MongoDB
{ $toInt: "123" }
Converts the number 456 to the string "456".
MongoDB
{ $toString: 456 }
Converts the value in the field price to an integer.
MongoDB
{ $toInt: "$price" }
Converts the value in the field quantity to a string.
MongoDB
{ $toString: "$quantity" }
Sample Program
This query takes the price field from each product, converts it to an integer and also to a string, and shows both in the result.
If the value cannot be converted, $toInt returns null.
Use these conversions to avoid errors when mixing data types in queries.
Summary
$toInt changes values to whole numbers.
$toString changes values to text.
These help make data easier to work with in different situations.
Practice
(1/5)
1. What does the $toInt expression do in MongoDB aggregation?
easy
A. Converts a value to a date
B. Converts a value to an integer (whole number)
C. Converts a value to a boolean (true/false)
D. Converts a value to a string (text)
Solution
Step 1: Understand the purpose of $toInt
The $toInt operator converts values to integers, which are whole numbers without decimals.
Step 2: Compare with other conversion types
$toString converts to text, $toBool to boolean, and $toDate to date. So $toInt specifically converts to integer.
Final Answer:
Converts a value to an integer (whole number) -> Option B
Quick Check:
$toInt = integer conversion [OK]
Hint: Remember: Int means whole number, String means text [OK]
Common Mistakes:
Confusing $toInt with $toString
Thinking $toInt converts to decimal numbers
Mixing up $toInt with boolean conversion
2. Which of the following is the correct syntax to convert a field age to string in a MongoDB aggregation pipeline?
easy
A. { $toInt: "$age" }
B. { $toString: age }
C. { $toString: "$age" }
D. { toString: "$age" }
Solution
Step 1: Identify correct operator and field reference
The operator for string conversion is $toString. Field names must be referenced as strings with a $ prefix inside quotes, like "$age".
Step 2: Check syntax correctness
{ $toString: "$age" } uses correct operator and field reference. { $toString: age } misses quotes around field. { $toInt: "$age" } uses wrong operator $toInt. { toString: "$age" } misses $ sign before operator.
Final Answer:
{ $toString: "$age" } -> Option C
Quick Check:
Use $ and quotes for fields, $toString for string conversion [OK]
Hint: Use $ before field names and operators in MongoDB [OK]
Common Mistakes:
Omitting quotes around field names
Forgetting $ before operator
Using wrong operator for conversion
3. Given the document { "score": "85" }, what will be the result of this aggregation expression: { $toInt: "$score" }?
medium
A. 85 (as an integer)
B. "85" (as a string)
C. null
D. Error: Cannot convert string to int
Solution
Step 1: Understand input and conversion
The field "score" is a string "85". Using $toInt converts this string to the integer 85.
Step 2: Confirm output type
The output will be the number 85, not a string or error, because "85" is a valid numeric string.
Final Answer:
85 (as an integer) -> Option A
Quick Check:
String "85" to int = 85 [OK]
Hint: Numeric strings convert cleanly to integers [OK]
Common Mistakes:
Expecting output to remain a string
Thinking conversion causes error
Confusing null with error
4. You wrote this aggregation expression: { $toInt: 123abc }. What is the problem?
medium
A. It returns null silently
B. It converts to integer 123
C. It converts to string "123abc"
D. Syntax error because 123abc is not a valid number or string
Solution
Step 1: Analyze the input value
The value 123abc is not a valid number or quoted string. MongoDB expects a number or string literal for conversion.
Step 2: Understand MongoDB parsing rules
Without quotes, 123abc is invalid syntax, causing a syntax error.
Final Answer:
Syntax error because 123abc is not a valid number or string -> Option D
Quick Check:
Invalid literals cause syntax errors [OK]
Hint: Always quote strings; invalid literals cause errors [OK]
Common Mistakes:
Assuming partial conversion works
Forgetting to quote strings
Expecting silent null return
5. You have a collection with documents like { "value": 123 } and { "value": "456" }. You want to create a new field valueStr that is always a string. Which aggregation expression correctly converts value to string regardless of original type?
hard
A. { $toString: "$value" }
B. { $toInt: "$value" }
C. { $toString: value }
D. { $toString: { $toInt: "$value" } }
Solution
Step 1: Understand the data types
Some values are numbers (123), some are strings ("456"). We want to convert all to strings.
Step 2: Choose correct conversion
$toString converts any type to string. Using { $toString: "$value" } converts both numbers and strings to string type.
Step 3: Evaluate other options
{ $toInt: "$value" } converts to int, not string. { $toString: value } misses quotes around field name. { $toString: { $toInt: "$value" } } converts to int then string, unnecessary and may cause errors if string is non-numeric.
Final Answer:
{ $toString: "$value" } -> Option A
Quick Check:
Use $toString with quoted field for consistent string conversion [OK]
Hint: Use $toString with "$field" to convert any type to string [OK]
Common Mistakes:
Missing quotes around field name
Using $toInt instead of $toString
Unnecessary double conversion causing errors
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.