Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

DOCSP-46894 Update compat db page #998

Merged
merged 5 commits into from
Feb 12, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 40 additions & 42 deletions source/documentdb-support.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,12 @@
:backlinks: none
:depth: 1

.. figure:: /figures/documentdb.png
:alt: Amazon DocumentDB logo

`Amazon DocumentDB (with MongoDB compatibility) <https://docs.aws.amazon.com/documentdb/latest/developerguide/what-is.html>`__
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. <https://www.mongodb.com/docs/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

Expand All @@ -42,43 +33,54 @@
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 <https://www.mongodb.com/docs/manual/core/capped-collections/>`__,
`map-reduce operations <https://www.mongodb.com/docs/v7.0/core/map-reduce/>`__,
`GridFS <https://www.mongodb.com/docs/manual/core/gridfs/>`__,
`text indexes <https://www.mongodb.com/docs/manual/core/indexes/index-types/index-text/>`__,
`partial indexes <https://www.mongodb.com/docs/manual/core/index-partial/>`__,
`case-insensitive indexes <https://www.mongodb.com/docs/manual/core/index-case-insensitive/>`__
- **Commands**: ``collMod``, ``createView``, ``filemd5``, ``reIndex``, ``connPoolStats``,
``dbHash``, ``features``, sharding commands (aside from ``enableSharding`` and
- **Features**: :manual:`Capped collections </core/capped-collections/>`,
:manual:`map-reduce operations </core/map-reduce/>`,
:manual:`GridFS </core/gridfs/>`,
:manual:`text indexes </core/indexes/index-types/index-text/>`,
:atlas:`vector search indexes </atlas-vector-search/vector-search-type/>`,
:manual:`partial indexes </core/index-partial/>`,
:manual:`case-insensitive indexes </core/index-case-insensitive/>`,
:manual:`time-series data </core/timeseries/timeseries-bucketing/>`,
:manual:`on-demand materialized views </core/materialized-views/>`,
:manual:`client-side field level encryption </core/csfle/>`,
:manual:`queryable encryption </core/queryable-encryption/>`
- **Commands**: ``collMod``, ``collMod:expireAfterSeconds``, ``copydb``,
``createView``, ``filemd5``, ``reIndex``, ``connPoolStats``, ``dbHash``,
``features``, ``getLastError``, ``getPrevError``, ``parallelCollectionScan``,
``resetError``, ``endSessions``, ``killAllSessionsByPattern``,

Check failure on line 53 in source/documentdb-support.txt

View workflow job for this annotation

GitHub Actions / TDBX Vale rules

[vale] reported by reviewdog 🐶 [MongoDB.NegativeWords] Use 'cancel' instead of the negative word 'kill'. Raw Output: {"message": "[MongoDB.NegativeWords] Use 'cancel' instead of the negative word 'kill'.", "location": {"path": "source/documentdb-support.txt", "range": {"start": {"line": 53, "column": 38}}}, "severity": "ERROR"}
``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:
Expand All @@ -87,10 +89,6 @@
- `Functional Differences: Amazon DocumentDB and MongoDB <https://docs.aws.amazon.com/documentdb/latest/developerguide/functional-differences.html>`__
- `Supported MongoDB APIs, Operations, and Data Types <https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html>`__

For the most current compatibility status between Amazon DocumentDB and MongoDB, see the
`Is Amazon DocumentDB Compatible with MongoDB Atlas? <https://www.isdocumentdbreallymongodb.com/>`__
website.

Support
-------

Expand Down
Loading