diff --git a/source/documentdb-support.txt b/source/documentdb-support.txt index 2caa54ed..ab11c313 100644 --- a/source/documentdb-support.txt +++ b/source/documentdb-support.txt @@ -18,21 +18,12 @@ Amazon DocumentDB Compatibility :backlinks: none :depth: 1 -.. figure:: /figures/documentdb.png - :alt: Amazon DocumentDB logo - -`Amazon DocumentDB (with MongoDB compatibility) `__ -is a fast, reliable, and fully managed database service. Amazon DocumentDB makes it easy -to set up, operate, and scale MongoDB-compatible databases in the cloud. -With Amazon DocumentDB, you can run the same application code and use the same drivers -and tools that you use with MongoDB. - Version Information ------------------- -Amazon DocumentDB supports MongoDB v4.0 and MongoDB v5.0. These versions don't -support all the newer features and functionality in the versions of MongoDB available -on `MongoDB Atlas. `__ +Amazon DocumentDB claims support for MongoDB v4.0 and MongoDB v5.0. These +versions do not support all the newer features and functionality in the versions +of MongoDB available on :atlas:`MongoDB Atlas `. .. tip:: MongoDB Version History @@ -42,43 +33,54 @@ on `MongoDB Atlas. `__ Compatibility ------------- -As of November 2023, Amazon DocumentDB is about 34 percent compatible with the -MongoDB API. - On Amazon DocumentDB, the following MongoDB features are available in a limited capacity or are not supported at all: -- **Features**: `Capped collections `__, - `map-reduce operations `__, - `GridFS `__, - `text indexes `__, - `partial indexes `__, - `case-insensitive indexes `__ -- **Commands**: ``collMod``, ``createView``, ``filemd5``, ``reIndex``, ``connPoolStats``, - ``dbHash``, ``features``, sharding commands (aside from ``enableSharding`` and +- **Features**: :manual:`Capped collections `, + :manual:`map-reduce operations `, + :manual:`GridFS `, + :manual:`text indexes `, + :atlas:`vector search indexes `, + :manual:`partial indexes `, + :manual:`case-insensitive indexes `, + :manual:`time-series data `, + :manual:`on-demand materialized views `, + :manual:`client-side field level encryption `, + :manual:`queryable encryption ` +- **Commands**: ``collMod``, ``collMod:expireAfterSeconds``, ``copydb``, + ``createView``, ``filemd5``, ``reIndex``, ``connPoolStats``, ``dbHash``, + ``features``, ``getLastError``, ``getPrevError``, ``parallelCollectionScan``, + ``resetError``, ``endSessions``, ``killAllSessionsByPattern``, + ``refreshSessions``, sharding commands (aside from ``enableSharding`` and ``shardCollection``) -- **Query Operators**: ``$expr``, ``$text``, ``$where``, ``$meta``, ``$box``, ``$center``, - ``$centerSphere``, ``$polygon``, ``$near`` -- **Aggregation Operators**: ``$accumulator``, ``$count``, ``$ceil``, ``$exp``, ``$floor``, - ``$ln``, ``$log``, ``$log10``, ``$pow``, ``$sqrt``, ``$trunc``, ``$round``, ``$first``, - ``$last``, ``$switch``, ``$binarySize``, ``$bsonSize``, ``$dateFromParts``, - ``$dateToParts``, ``$dateTrunc``, ``$dateDiff``, ``$setDifference``, ``$anyElementTrue``, - ``$allElementsTrue``, ``$ltrim``, ``$rtrim``, ``$trim``, ``$regexFind``, - ``$regexFindAll``, ``$regexMatch``, ``$replaceOne``, ``$replaceAll``, ``$convert``, - ``$toBool``, ``$toDate``, ``$toDecimal``, ``$toDouble``, ``$toInt``, ``$toLong``, - ``$toObjectId``, ``$toString``, ``$isNumber``, ``$rand``, ``$sampleRate``, ``$getField`` -- **Aggregation Stages**: ``$collStats``, ``$facet``, ``$bucket``, ``$bucketAuto``, - ``$sortByCount``, ``$listLocalSessions``, ``$listSessions``, ``$graphLookup`` +- **Query Operators**: ``$expr``, ``$jsonSchema``, ``$text``, ``$where``, + ``$meta``, ``$box``, ``$center``, ``$centerSphere``, ``$polygon``, ``$near``, + ``$uniqueDocs`` +- **Aggregation Operators**: ``$accumulator``, ``$count``, ``$stdDevPop``, + ``$stdDevSamp``, ``$pow``, ``$trunc``, ``$round``, ``$first``, ``$last``, + ``$switch``, ``$binarySize``, ``$bsonSize``, ``$dateFromParts``, + ``$dateToParts``, ``$dateTrunc``, ``$dateDiff``, ``$ltrim``, ``$rtrim``, + ``$trim``, ``$regexFind``, ``$regexFindAll``, ``$regexMatch``, + ``$replaceOne``, ``$replaceAll``, ``$isNumber``, ``$rand``, ``$sampleRate``, + ``$getField`` +- **Aggregation Stages**: ``$collStats``, ``$facet``, ``$bucket``, + ``$bucketAuto``, ``$sortByCount``, ``$unionWith``, ``$set``, + ``$setWindowFields``, ``$unset``, ``$listLocalSessions``, ``$listSessions``, + ``$graphLookup``, ``$merge``, ``$planCacheStats`` +- **Cursor Methods**: ``cursor.collation()``, ``cursor.max()``, + ``cursor.min()``, ``cursor.noCursorTimeout()``, ``cursor.returnKey()``, + ``cursor.showRecordId()``, ``cursor.tailable()`` -In addition, Amazon DocumentDB does not leverage indexes when you perform -queries that contain any of the following operators: +In addition, Amazon DocumentDB does not leverage indexes when performing queries +that contain any of the following operators: - ``$ne`` - ``$nin`` - ``$nor`` - ``$not`` - ``$exists`` -- ``$elemMatch`` +- ``$distinct`` +- ``$elemMatch`` when used in nested queries To learn more about Amazon DocumentDB's compatibility with MongoDB v4.0 and MongoDB v5.0, see the following AWS documentation: @@ -87,10 +89,6 @@ see the following AWS documentation: - `Functional Differences: Amazon DocumentDB and MongoDB `__ - `Supported MongoDB APIs, Operations, and Data Types `__ -For the most current compatibility status between Amazon DocumentDB and MongoDB, see the -`Is Amazon DocumentDB Compatible with MongoDB Atlas? `__ -website. - Support -------