Operators
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
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
Last updated