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