# 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`              | <p>Binds variables for use in the specified expression, and returns the result of the expression<br><br>View <a href="https://docs.mongodb.com/manual/reference/operator/aggregation/let/">let</a> for more information on how the let variable is used in mongodb operations.</p> |
| 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`           | <p>Used as a wrapper for the moment.js library to parse, validate, manipulate, and display dates and times in JavaScript<br></p><p><strong>Example to determine the difference between two dates:</strong></p><p><code>$moment: \[date, { 'diff': \[date2, 'days'] }]</code></p>   |
| 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             | <p>Sets a path and creates deep objects<br><br><strong>Example:</strong><br><code>$pathTo: \[{ $literal: {} }, 'configuration.reporting.enabled', true]</code></p>                                                                                                                 |
| 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                                                                                                                                                                                                                                                 |
