Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Azure DocumentDB provides comprehensive MongoDB Query Language (MQL) compatibility, combining MongoDB's familiar features with Azure's enterprise capabilities. This article provides a version-wise overview of MQL compatibility and feature support across versions 5.0-8.0, including operators, commands, indexes, and the MongoDB wire protocol. Applications can run without code changes, using the same client drivers, SDKs, and tools. Users benefit from Azure's scalability, security, and integration with other Azure services.
Network protocol support
Azure DocumentDB service uses the MongoDB wire protocol, which provides seamless compatibility with existing tools and drivers. Any client driver that supports the MongoDB wire protocol can connect to Azure DocumentDB, so applications can run without code changes.
Developers can keep the same client drivers, software development kits (SDKs), and tools. As a user, you also gain Azure's scalability, security, and deep integration with other services within the Azure platform.
Query language support
In addition to protocol support, Azure DocumentDB provides comprehensive support for MongoDB query language constructs as well.
Note
Azure DocumentDB delivers 99.03% MongoDB compatibility via the wire protocol.
Compatibility philosophy
Overall product compatibility is determined by evaluating the number of MongoDB operators (Aggregation Stages, Aggregation Operators, Query, and Projection Operators and Update Operators) supported by the service. MongoDB commands and admin operations are excluded from this calculation because Azure DocumentDB, as a PaaS offering, supports most these commands in-house, eliminating the need for user intervention. These commands aren't exposed to users; however, based on usage patterns and customer feedback, a subset of commonly used commands is available to simplify the user experience.
The compatibility summary table below details support for each operator type:
| Total | Supported | Percentage | |
|---|---|---|---|
| Aggregation Stages | 60 | 58 | 96.67% |
| Aggregation Operators | 181 | 181 | 100% |
| Query and Projection Operators | 45 | 44 | 97.78% |
| Update Operators | 22 | 22 | 100% |
The following section presents a comprehensive breakdown of supported database operators, commands, and more features, offering a clear view of the product’s compatibility and functionality across various scenarios.
Operators
The table here lists the operators that are currently supported in Azure DocumentDB:
| Category | Operator | Supported (v5.0) | Supported (v6.0) | Supported (v7.0) | Supported (v8.0) |
|---|---|---|---|---|---|
| Comparison Query Operators | $eq |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $gt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $gte |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $in |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $lt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $lte |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $ne |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Query Operators | $nin |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Logical Query Operators | $and |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Logical Query Operators | $not |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Logical Query Operators | $nor |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Logical Query Operators | $or |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Element Query Operators | $exists |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Element Query Operators | $type |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Evaluation Query Operators | $expr |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Evaluation Query Operators | $jsonSchema* |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Evaluation Query Operators | $mod |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Evaluation Query Operators | $regex |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Evaluation Query Operators | $text |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Evaluation Query Operators | $where |
Deprecated in Mongo version 8.0 | |||
| Geospatial Operators | $geoIntersects |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $geoWithin |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $box |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $center |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $centerSphere |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $geometry |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $maxDistance |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $minDistance |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $polygon |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $near |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Geospatial Operators | $nearSphere |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Query Operators | $all |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Query Operators | $elemMatch |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Query Operators | $size |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Query Operators | $bitsAllClear |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Query Operators | $bitsAllSet |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Query Operators | $bitsAnyClear |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Query Operators | $bitsAnySet |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Projection Operators | $ |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Projection Operators | $elemMatch |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Projection Operators | $meta |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Projection Operators | $slice |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Miscellaneous Query Operators | $comment |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Miscellaneous Query Operators | $rand |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Miscellaneous Query Operators | $natural |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $currentDate |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $inc |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $min |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $max |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $mul |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $rename |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $set |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $setOnInsert |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Field Update Operators | $unset |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $ |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $[] |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $[identifier] |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $addToSet |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $pop |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $pull |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $push |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $pullAll |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $each |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $position |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $slice |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Update Operators | $sort |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Update Operators | $bit |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $abs |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $add |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $ceil |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $divide |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $exp |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $floor |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $ln |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $log |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $log10 |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $mod |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $multiply |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $pow |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $round |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $sqrt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $subtract |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Arithmetic Expression Operators | $trunc |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $arrayElemAt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $arrayToObject |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $concatArrays |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $filter |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $firstN |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $in |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $indexOfArray |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $isArray |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $lastN |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $map |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $maxN |
✅ Yes | ✅ Yes | ✅ Yes | |
| Array Expression Operators | $minN |
✅ Yes | ✅ Yes | ✅ Yes | |
| Array Expression Operators | $objectToArray |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $range |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $reduce |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $reverseArray |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $size |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $slice |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Array Expression Operators | $sortArray |
✅ Yes | ✅ Yes | ✅ Yes | |
| Array Expression Operators | $zip |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Operators | $bitAnd |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Operators | $bitNot |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Operators | $bitOr |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Bitwise Operators | $bitXor |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Boolean Expression Operators | $and |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Boolean Expression Operators | $not |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Boolean Expression Operators | $or |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $cmp |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $eq |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $gt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $gte |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $lt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $lte |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Comparison Expression Operators | $ne |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Custom Aggregation Expression Operators | $accumulator |
Deprecated in Mongo version 8.0 | |||
| Custom Aggregation Expression Operators | $function |
Deprecated in Mongo version 8.0 | |||
| Data Size Operators | $bsonSize |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Data Size Operators | $binarySize |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateAdd |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateDiff |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateFromParts |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateFromString |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateSubtract |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateToParts |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateToString |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dateTrunc |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dayOfMonth |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dayOfWeek |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $dayOfYear |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $hour |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $isoDayOfWeek |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $isoWeek |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $isoWeekYear |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $millisecond |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $minute |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $month |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $second |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $toDate |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $week |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Date Expression Operators | $year |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Literal Expression Operator | $literal |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Miscellaneous Operators | $getField |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Miscellaneous Operators | $rand |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Miscellaneous Operators | $sampleRate |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Object Expression Operators | $mergeObjects |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Object Expression Operators | $objectToArray |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Object Expression Operators | $setField |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $allElementsTrue |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $anyElementTrue |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $setDifference |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $setEquals |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $setIntersection |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $setIsSubset |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Set Expression Operators | $setUnion |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $concat |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $dateFromString |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $dateToString |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $indexOfBytes |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $indexOfCP |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $ltrim |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $regexFind |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $regexFindAll |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $regexMatch |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $replaceOne |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $replaceAll |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $rtrim |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $split |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $strLenBytes |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $strLenCP |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $strcasecmp |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $substr |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $substrBytes |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $substrCP |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $toLower |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $toString |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $trim |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| String Expression Operators | $toUpper |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Text Expression Operator | $meta |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Timestamp Expression Operators | $tsIncrement |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Timestamp Expression Operators | $tsSecond |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $sin |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $cos |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $tan |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $asin |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $acos |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $atan |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $atan2 |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $asinh |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $acosh |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $atanh |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $sinh |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $cosh |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $tanh |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $degreesToRadians |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Trigonometry Expression Operators | $radiansToDegrees |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $convert |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $isNumber |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toBool |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toDate |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toDecimal |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toDouble |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toInt |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toLong |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toObjectId |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $toString |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Type Expression Operators | $type |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$accumulator |
Deprecated in Mongo version 8.0 | |||
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$addToSet |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$avg |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$bottom |
✅ Yes | ✅ Yes | ✅ Yes | |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$bottomN |
✅ Yes | ✅ Yes | ✅ Yes | |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$count |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$first |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$firstN |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$last |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$lastN |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$max |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$maxN |
✅ Yes | ✅ Yes | ✅ Yes | |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$median |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$mergeObjects |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$min |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$percentile |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$push |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$stdDevPop |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$stdDevSamp |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$sum |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$top |
✅ Yes | ✅ Yes | ✅ Yes | |
Accumulators ($group, $bucket, $bucketAuto, $setWindowFields) |
$topN |
✅ Yes | ✅ Yes | ✅ Yes | |
| Accumulators (in Other Stages) | $avg |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Accumulators (in Other Stages) | $first |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Accumulators (in Other Stages) | $last |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Accumulators (in Other Stages) | $max |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Accumulators (in Other Stages) | $median |
✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |