Operators
Last updated
Last updated
Operator expressions are similar to functions that take arguments.
abs
$abs
Returns the absolute value of a number
acos
$acos
Returns a numeric value between 0 and π radians for x between -1 and 1
acosh
$acosh
Returns the inverse hyperbolic cosine of a number
acl
$acl
Not applicable
add
$add
Adds two or more array properties or expressions. In addition to numbers, a single Date value may be included in the array.
and
$and
Evaluates to true if all conditions in the passed in array evaluate to true
asin
$asin
Returns the arcsine (in radians) of a number
asinh
$asinh
Returns the hyperbolic arcsine of a number
atan
$atan
Returns the arctangent (in radians) of a number
atan2
$atan2
Returns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y)
atanh
$atanh
Returns the hyperbolic arctangent of a number
ceil
$ceil
Always rounds a number up to the next largest integer
convert
$convert
Not applicable
cos
$cos
Returns the cosine of the specified angle, which must be specified in radians
dateFromParts
$dateFromParts
Returns a date from the specified parts (year, month, and day values)
dateFromString
$dateFromString
Converts a date object to a string in a specified format, and expects an array of [date_expression]
dateToParts
$dateToParts
Returns a document that contains the constituent parts of a given Date value as individual properties
dateToString
$dateToString
Converts a date object to a string according to a user-specified format
dayOfMonth
$dayOfMonth
Returns the day of the month for a date as a number between 1 and 31
dayOfWeek
$dayOfWeek
Returns the day of the week for a date as a number between 1 (Sunday) and 7 (Saturday)
dayofYear
$dayofYear
Returns the day of the year for a date as a number between 1 and 366
degreestoRadians
$degreestoRadians
Converts an input value measured in degrees to radians
divide
$divide
Divides one number by another and returns the result
exp
$exp
Takes the e^n of a number
floor
$floor
Returns the largest integer less than or equal to the specified number
hour
$hour
Returns the hour portion of a date as a number between 0 and 23
isoDayOfWeek
$isoDayOfWeek
Returns the weekday number in ISO 8601 format, ranging from 1 (Monday) to 7 (Sunday)
isoWeek
$isoWeek
Returns the week number in ISO 8601 format, ranging from 1 to 53
isoWeekYear
$isoWeekYear
Returns the year number in ISO 8601 format
log
$log
Takes the log of the first number in the second number's base
log10
$log10
Calculates the log base 10 of a number and returns the result as a double
let
$let
Binds variables for use in the specified expression, and returns the result of the expression View let for more information on how the let variable is used in mongodb operations.
ltrim
$ltrim
Removes whitespace characters, including null, or the specified characters from the beginning of a string
mergeObjects
$mergeObjects
Combines multiple documents into a single document
milliseconds
$milliseconds
Returns the millisecond portion of a date as an integer between 0 and 999
minute
$minute
Returns the minute portion of a date as a number between 0 and 59
moment
$moment
Used as a wrapper for the moment.js library to parse, validate, manipulate, and display dates and times in JavaScript
Example to determine the difference between two dates:
$moment: [date, { 'diff': [date2, 'days'] }]
month
$month
Returns the month of a date as a number between 1 and 12
multiply
$multiply
Multiplies the value of a field by a number
omit
$omit
Not applicable
or
$or
Performs a logical OR operation on an array of two or more and selects the documents that satisfy at least one of the arguments
pathTo
$pathTo
Sets a path and creates deep objects
Example:
$pathTo: [{ $literal: {} }, 'configuration.reporting.enabled', true]
pick
$pick
Not applicable
radiansToDegrees
$radiansToDegrees
Converts an input value measured in radians to degrees
regexFind
$regexFind
Provides regular expression (regex) pattern matching capability in aggregation expressions
regexFindAll
$regexFindAll
Provides regex pattern matching capability in aggregation expressions. The operator returns an array of documents that contains information on each match.
regexMatch
$regexMatch
Performs regex pattern matching and returns
replaceAll
$replaceAll
Replaces all instances of a search string in an input string with a replacement string
replaceOne
$replaceOne
Replaces the first instance of a search string in an input string with a replacement string
rtrim
$rtrim
Removes whitespace characters, including null, or the specified characters from the end of a string
second
$second
Returns the second portion of a date as a number between 0 and 59, but can be 60 to account for leap seconds
sin
$sin
Returns the sine of a value that is measured in radians
split
$split
Divides a string into an array of substrings based on a delimiter
sqrt
$sqrt
Calculates the square root of a positive number and returns the result as a double
stdDevPop
$stdDevPop
Calculates the population standard deviation of the input values
stdDevSamp
$stdDevSamp
Calculates the sample standard deviation of the input values
strcasecmp
$strcasecmp
Performs a case-insensitive comparison of two strings
strLenBytes
$strLenBytes
Returns the number of UTF-8 encoded bytes in the specified string
strLenCP
$strLenCP
Returns the number of UTF-8 code points in the specified string
substr
$substr
Returns the number of UTF-8 encoded bytes in the specified string
substrBytes
$substrBytes
Returns the substring of a string
substrCP
$substrCP
Returns the substring of a string
tan
$tan
Returns the tangent of a value that is measured in radians
toDate
$toDate
Converts a value to date
toLower
$toLower
Converts a string to lowercase, returning the result
toUpper
$toUpper
Converts a string to uppercase, returning the result
trim
$trim
Removes whitespace characters, including null, or the specified characters from the beginning and end of a string
week
$week
Returns the week of the year for a date as a number between 0 and 53
year
$year
Returns the year portion of a date