Supported MongoDB APIs, Operations, and Data Types
MongoDB commands and operators that are internal-only or not applicable to a fully-managed service are not supported and are not included in the list of supported functionality.
We have added over 50+ additional capabilities since launch, and will continue to work backwards from our customers to deliver the capabilities that they need. For information on the most recent launches, see Amazon DocumentDB Announcements.
If there is a feature that isn’t supported that you’d like us to build, let us know by sending an email with your accountID, the requested features, and use case to the .
Aggregation
Command | 3.6 | 4.0 |
---|---|---|
aggregate | Yes | Yes |
count | Yes | Yes |
distinct | Yes | Yes |
mapReduce | No | No |
Authentication
Command | 3.6 | 4.0 |
---|---|---|
authenticate | Yes | Yes |
logout | Yes | Yes |
Diagnostic Commands
Command | 3.6 | 4.0 |
---|---|---|
buildInfo | Yes | Yes |
collStats | Yes | Yes |
connPoolStats | No | No |
connectionStatus | Yes | Yes |
dataSize | Yes | Yes |
dbHash | No | No |
dbStats | Yes | Yes |
explain | Yes | Yes |
explain: executionStats | Yes | Yes |
features | No | No |
hostInfo | Yes | Yes |
listCommands | Yes | Yes |
profiler | ||
serverStatus | Yes | Yes |
top | Yes | Yes |
Query and Write Operations
Command | 3.6 | 4.0 |
---|---|---|
delete | Yes | Yes |
find | Yes | Yes |
findAndModify | Yes | Yes |
getLastError | No | No |
getMore | Yes | Yes |
getPrevError | No | No |
insert | Yes | Yes |
parallelCollectionScan | No | No |
resetError | No | No |
update | Yes | Yes |
Change streams | ||
GridFS | No |
Role Management Commands
Command | 3.6 | 4.0 |
---|---|---|
createRole | No | No |
dropRole | No | No |
dropAllRolesFromDatabase | No | No |
grantRolesToRole | No | No |
revokePrivilegesFromRole | No | No |
revokeRolesFromRole | No | No |
updateRole | No | No |
rolesInfo | No | No |
Sessions Commands
Command | 3.6 | 4.0 |
---|---|---|
abortTransaction | No | Yes |
commitTransaction | No | Yes |
endSessions | No | Yes |
killAllSessions | No | Yes |
killAllSessionsByPattern | No | No |
killSessions | No | Yes |
refreshSessions | No | No |
startSession | No | Yes |
User Management
Command | 3.6 | 4.0 |
---|---|---|
createUser | Yes | Yes |
dropAllUsersFromDatabase | Yes | Yes |
dropUser | Yes | Yes |
grantRolesToUser | Yes | Yes |
revokeRolesFromUser | Yes | Yes |
updateUser | Yes | Yes |
userInfo | Yes | Yes |
Query and Projection Operators
Array Operators
Command | 3.6 | 4.0 |
---|---|---|
$all | Yes | Yes |
$elemMatch | Yes | Yes |
$size | Yes | Yes |
Bitwise Operators
Command | 3.6 | 4.0 |
---|---|---|
$bitsAllSet | Yes | Yes |
$bitsAnySet | Yes | Yes |
$bitsAllClear | Yes | Yes |
$bitsAnyClear | Yes | Yes |
Comment Operator
Command | 3.6 | 4.0 |
---|---|---|
$comment | Yes | Yes |
Comparison Operators
Command | 3.6 | 4.0 |
---|---|---|
$eq | Yes | Yes |
$gt | Yes | Yes |
$gte | Yes | Yes |
$lt | Yes | Yes |
$lte | Yes | Yes |
$ne | Yes | Yes |
$in | Yes | Yes |
$nin | Yes | Yes |
Element Operators
Command | 3.6 | 4.0 |
---|---|---|
$exists | Yes | Yes |
$type | Yes | Yes |
Evaluation Query Operators
Command | 3.6 | 4.0 |
---|---|---|
$expr | No | No |
$jsonSchema | No | No |
$mod | Yes | Yes |
$regex | Yes | Yes |
$text | No | No |
$where | No | No |
Projection Operators
Command | 3.6 | 4.0 |
---|---|---|
$ | Yes | Yes |
$elemMatch | Yes | Yes |
$meta | No | No |
$slice | Yes | Yes |
Array Operators
Command | 3.6 | 4.0 |
---|---|---|
$ | Yes | Yes |
$[] | Yes | Yes |
$[<identifier>] | Yes | Yes |
$addToSet | Yes | Yes |
$pop | Yes | Yes |
$pullAll | Yes | Yes |
$pull | Yes | |
$push | Yes | Yes |
Bitwise Operators
Command | 3.6 | 4.0 |
---|---|---|
$bit | Yes | Yes |
Field Operators
Operator | 3.6 | 4.0 |
---|---|---|
$inc | Yes | Yes |
$mul | Yes | Yes |
$rename | Yes | Yes |
$setOnInsert | Yes | Yes |
$set | Yes | Yes |
$unset | Yes | Yes |
$min | Yes | Yes |
$max | Yes | Yes |
$currentDate | Yes | Yes |
Update Modifiers
Operator | 3.6 | 4.0 |
---|---|---|
$each | Yes | Yes |
$slice | Yes | Yes |
$sort | Yes | Yes |
$position | Yes | Yes |
Geospatial
Geometry Specifiers
Query Selectors | 3.6 | 4.0 |
---|---|---|
$box | No | No |
$center | No | No |
$centerSphere | No | No |
$nearSphere | No | No |
$geometry | No | No |
$maxDistance | No | No |
$minDistance | No | No |
$polygon | No | No |
$uniqueDocs | No | No |
Query Selectors
Command | 3.6 | 4.0 |
---|---|---|
$geoIntersects | No | No |
$geoWithin | No | No |
$near | No | No |
$nearSphere | No | No |
$polygon | No | No |
$uniqueDocs | No | No |
Command | 3.6 | 4.0 |
---|---|---|
cursor.batchSize() | Yes | Yes |
cursor.close() | Yes | Yes |
cursor.isClosed() | Yes | Yes |
cursor.collation() | No | No |
cursor.comment() | Yes | Yes |
cursor.count() | Yes | Yes |
cursor.explain() | Yes | Yes |
cursor.forEach() | Yes | Yes |
cursor.hasNext() | Yes | Yes |
cursor.hint() | Yes | Yes |
cursor.isExhausted() | Yes | Yes |
cursor.itcount() | Yes | Yes |
cursor.limit() | Yes | Yes |
cursor.map() | Yes | Yes |
cursor.maxScan() | Yes | Yes |
cursor.maxTimeMS() | Yes | Yes |
cursor.max() | No | No |
cursor.min() | No | No |
cursor.next() | Yes | Yes |
cursor.noCursorTimeout() | No | No |
cursor.objsLeftInBatch() | Yes | Yes |
cursor.pretty() | Yes | Yes |
cursor.readConcern() | Yes | Yes |
cursor.readPref() | Yes | Yes |
cursor.returnKey() | No | No |
cursor.showRecordId() | No | No |
cursor.size() | Yes | Yes |
cursor.skip() | Yes | Yes |
cursor.sort() | Yes | Yes |
cursor.tailable() | No | No |
cursor.toArray() | Yes | Yes |
Aggregation Pipeline Operators
Accumulator Expressions
Expression | 3.6 | 4.0 |
---|---|---|
$sum | Yes | Yes |
$avg | Yes | Yes |
$first | Yes | Yes |
$last | Yes | Yes |
$max | Yes | Yes |
$min | Yes | Yes |
$push | Yes | Yes |
$addToSet | Yes | Yes |
$stdDevPop | No | No |
$stdDevSamp | No | No |
Arithmetic Operators
Command | 3.6 | 4.0 |
---|---|---|
$abs | Yes | Yes |
$add | Yes | Yes |
$ceil | No | No |
$divide | Yes | Yes |
$exp | No | No |
$floor | No | No |
$ln | No | No |
$log | No | No |
$log10 | No | No |
$mod | Yes | Yes |
$multiply | Yes | Yes |
$pow | No | No |
$sqrt | No | No |
$subtract | Yes | Yes |
$trunc | No | No |
Array Operators
Command | 3.6 | 4.0 |
---|---|---|
$arrayElemAt | Yes | Yes |
$arrayToObject | Yes | Yes |
$concatArrays | Yes | Yes |
$filter | Yes | Yes |
$indexOfArray | No | No |
$isArray | Yes | Yes |
$objectToArray | Yes | Yes |
$range | Yes | Yes |
$reverseArray | No | No |
$reduce | No | No |
$size | Yes | Yes |
$slice | Yes | Yes |
$zip | No | No |
$in | Yes | Yes |
Boolean Operators
Command | 3.6 | 4.0 |
---|---|---|
$and | Yes | Yes |
$or | Yes | Yes |
$not | Yes | Yes |
Comparison Operators
Command | 3.6 | 4.0 |
---|---|---|
$cmp | Yes | Yes |
$eq | Yes | Yes |
$gt | Yes | Yes |
$gte | Yes | Yes |
$lt | Yes | Yes |
$lte | Yes | Yes |
$ne | Yes | Yes |
Conditional Expression Operators
Command | 3.6 | 4.0 |
---|---|---|
$type | No | No |
Date Operators
Command | 3.6 | 4.0 |
---|---|---|
$dayOfYear | Yes | Yes |
$dayOfMonth | Yes | |
$dayOfWeek | Yes | Yes |
$year | Yes | Yes |
$month | Yes | Yes |
$week | Yes | Yes |
$hour | Yes | Yes |
$minute | Yes | Yes |
$second | Yes | Yes |
$millisecond | Yes | Yes |
$dateToString | Yes | Yes |
$isoDayOfWeek | Yes | Yes |
$isoWeek | Yes | Yes |
$dateFromParts | No | No |
$dateToParts | No | No |
$dateFromString | Yes | Yes |
$isoWeekYear | Yes | Yes |
Literal Operator
Command | 3.6 | 4.0 |
---|---|---|
$literal | No | No |
Merge Operator
Command | 3.6 | 4.0 |
---|---|---|
$mergeObjects | No | No |
Natural Operator
Command | 3.6 | 4.0 |
---|---|---|
$natural | No | No |
Set Operators
Command | 3.6 | 4.0 |
---|---|---|
$setEquals | Yes | Yes |
$setIntersection | Yes | Yes |
$setUnion | Yes | Yes |
$setDifference | No | No |
$setIsSubset | Yes | Yes |
$anyElementTrue | No | No |
$allElementsTrue | No | No |
Stage Operators
Command | 3.6 | 4.0 |
---|---|---|
$collStats | No | No |
$project | Yes | Yes |
$match | Yes | Yes |
$redact | Yes | Yes |
$limit | Yes | Yes |
$skip | Yes | Yes |
$unwind | Yes | Yes |
$group | Yes | Yes |
$sample | Yes | Yes |
$sort | Yes | Yes |
$geoNear | No | No |
$lookup | Yes | Yes |
$out | Yes | Yes |
$indexStats | Yes | Yes |
$facet | No | No |
$bucket | No | No |
$bucketAuto | No | No |
$sortByCount | No | No |
$addFields | Yes | No |
$replaceRoot | Yes | Yes |
$count | Yes | Yes |
$currentOp | Yes | Yes |
$listLocalSessions | No | No |
$listSessions | No | No |
$graphLookup | No | No |
String Operators
Command | 3.6 | 4.0 |
---|---|---|
$concat | Yes | Yes |
$indexOfBytes | Yes | Yes |
$indexOfCP | Yes | Yes |
$ltrim | No | No |
$rtrim | No | No |
$split | Yes | Yes |
$strcasecmp | Yes | Yes |
$strLenBytes | Yes | Yes |
$strLenCP | Yes | Yes |
$substr | Yes | Yes |
$substrBytes | Yes | Yes |
$substrCP | Yes | Yes |
$toLower | Yes | Yes |
$toUpper | Yes | Yes |
$trim | No | No |
System Variables
Command | 3.6 | 4.0 |
---|---|---|
$$CURRENT | No | No |
$$DESCEND | Yes | Yes |
$$KEEP | Yes | Yes |
$$PRUNE | Yes | Yes |
$$REMOVE | No | No |
$$ROOT | No | No |
Text Search Operator
Command | 3.6 | 4.0 |
---|---|---|
$meta | No | No |
Type Conversion Operators
Command | 3.6 | 4.0 |
---|---|---|
$convert | No | No |
$toBool | No | No |
$toDate | No | No |
$toDecimal | No | No |
$toDouble | No | No |
$toInt | No | No |
$toLong | No | No |
$toObjectId | No | No |
$toString | No | No |
Variable Operators
Command | 3.6 | 4.0 |
---|---|---|
$map | No | No |
$let | No | No |
Command | 3.6 | 4.0 |
---|---|---|
Double | Yes | Yes |
String | Yes | Yes |
Object | Yes | Yes |
Array | Yes | Yes |
Binary Data | Yes | Yes |
ObjectId | Yes | Yes |
Boolean | Yes | Yes |
Date | Yes | Yes |
Null | Yes | Yes |
32-bit Integer (int) | Yes | Yes |
Timestamp | Yes | Yes |
64-bit Integer (long) | Yes | Yes |
MinKey | Yes | Yes |
MaxKey | Yes | Yes |
Decimal128 | No | No |
Regular Expression | No | No |
JavaScript | No | No |
JavaScript (with scope) | No | No |
Undefined | No | No |
Symbol | No | No |
DBPointer | No |
Indexes and Index Properties
Indexes
Index Properties
Command | 3.6 | 4.0 |
---|---|---|
TTL | Yes | Yes |
Unique | Yes | Yes |
Partial | No | No |
Case Insensitive | No | No |
Sparse | Yes | Yes |
Background | Yes |