Versions
This section describes the compatibility between DDS versions and MongoDB, aggregation operation compatibility, and DDS features of different versions.
MongoDB-Compatible Features
Category |
Details |
DDS 4.0 |
DDS 4.2 |
DDS 4.4 |
DDS 5.0 Replica Set |
Community Edition MongoDB 4.2 |
Community Edition MongoDB 4.4 |
Community Edition MongoDB 5.0 Replica Set |
---|---|---|---|---|---|---|---|---|
Database commands |
The find command supports the allowDiskUse field, which allows MongoDB to use temporary files on disk to store data exceeding the system memory limit while processing a non-index sort operation. |
× |
× |
√ |
√ |
× |
√ |
√ |
New syntax and usage of projection.
|
× |
× |
√ |
√ |
× |
√ |
√ |
|
Time series collections |
Time series collections are supported. |
× |
× |
× |
√ |
× |
× |
√ |
Geospatial indexes can be created for metaField. |
× |
× |
× |
√ |
× |
× |
√ |
|
Constrained update and deletion operations are supported. |
× |
× |
× |
√ |
× |
× |
√ |
|
Sharded time series collections are supported. |
× |
× |
× |
N.A. |
× |
× |
N.A. |
|
Time series collections can be compressed. |
× |
× |
× |
√ |
× |
× |
√ |
|
Distributed transactions are supported. Distributed transactions refer to multi-document transactions on sharded clusters and replica sets. Multi-document transactions (whether on sharded clusters or replica sets) are also known as distributed transactions starting in MongoDB 4.2. |
× |
√ |
√ |
√ |
√ |
√ |
√ |
|
The 16 MB total size limit for a transaction was removed. |
× |
× |
√ |
√ |
√ |
√ |
√ |
|
The MongoDB drivers must be updated for MongoDB 4.2. |
× |
√ |
√ |
√ |
√ |
√ |
√ |
|
|
√ |
√ |
√ |
√ |
√ |
√ |
√ |
|
Wildcard indexes are supported. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
|
A document's shard key field value can be changed. |
× |
× |
√ |
N.A. |
√ |
√ |
N.A. |
|
The fields associated with the shard key can be adjusted. |
√ |
√ |
√ |
N.A. |
× |
√ |
N.A. |
|
Collections can be sharded using a composite shard key that consists of a single hash field. |
× |
× |
√ |
N.A. |
× |
√ |
N.A. |
|
The 512-byte size limit on a shard key was removed. |
× |
√ |
√ |
N.A. |
× |
√ |
N.A. |
|
Multi-document transactions allow the creation of indexes and collections (non-distributed transactions). |
× |
× |
√ |
N.A. |
× |
√ |
N.A. |
|
The $lookup and $graphLookup operation supports sharded collections. |
× |
× |
√ |
N.A. |
× |
× |
N.A. |
|
The size limit on indexes was removed. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
|
The length limit on index names was removed. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
|
Composite indexes can contain hash indexes. |
× |
× |
√ |
√ |
× |
√ |
√ |
|
Hidden indexes are supported for commissioning. |
√ |
√ |
√ |
√ |
× |
√ |
√ |
|
The size limit on collection namespaces is changed. The length of <database>.<collection> is increased from 120 bytes to 255 bytes. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
|
Other optimized features |
Default Read and Write Concern Global default read/write concerns, involving connection and command read/write contexts. |
× |
× |
√ |
√ |
× |
× |
√ |
Jumbo chunks can be migrated. |
× |
× |
√ |
√ |
× |
× |
√ |
|
Hedge query is supported. |
× |
× |
√ |
√ |
× |
× |
√ |
|
The dds mongos node supports JavaScripts to support some special aggregation operators. |
× |
× |
√ |
√ |
× |
× |
√ |
|
In non-multi-document transactions, some read operations support read concern snapshot. |
× |
× |
× |
× |
× |
× |
√ |
|
Using collMod to change the timeout interval of TTL indexes of a single field is supported. |
× |
× |
× |
√ |
× |
× |
√ |
- √ indicates that an item is supported, and × indicates that an item is not supported, and N.A. indicates that an item is not applicable.
- For details about how to evaluate the compatibility when migrating MongoDB from a later version to an earlier version, see How Do I Evaluate the Compatibility When Migrating MongoDB from a Later Version to an Earlier Version?
Aggregation Operations
Operator |
DDS 4.0 |
DDS 4.2 |
DDS 4.4 |
DDS 5.0 Replica Set |
MongoDB 4.2 Community Edition |
MongoDB 4.4 Community Edition |
MongoDB 5.0 Community Edition Replica Set |
---|---|---|---|---|---|---|---|
$sin |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$cos |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$tan |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$asin |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$acos |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$atan |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$atan2 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$asinh |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$acosh |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$atanh |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$degreesToRadians |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$radiansToDegrees |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$round |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$trunc |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$regexFind |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$regexFindAll |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$regexMatch |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$merge |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$planCacheStats |
× |
× |
× |
× |
√ |
√ |
× |
$replaceWith |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$set |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$unset |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
NOW |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
CLUSTER_TIME |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
findAndModify |
√ |
√ |
√ |
√ |
× |
√ |
√ |
update |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
$accumulator |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$binarySize |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$bsonSize |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$first |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$function |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$last |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$isNumber |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$replaceOne |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$unionWith |
√ |
√ |
√ |
√ |
× |
√ |
√ |
$dateAdd |
× |
× |
√ |
√ |
× |
× |
√ |
$dateSubtract |
× |
× |
√ |
√ |
× |
× |
√ |
$dateDiff |
× |
× |
√ |
√ |
× |
× |
√ |
$dateTrunc |
× |
× |
√ |
√ |
× |
× |
√ |
$rand |
× |
× |
× |
× |
× |
× |
√ |
$sampleRate |
× |
× |
× |
× |
× |
× |
√ |
$getField |
× |
× |
√ |
√ |
× |
× |
√ |
$setField |
× |
× |
√ |
√ |
× |
× |
√ |
$unsetField |
× |
× |
√ |
√ |
× |
× |
√ |
$setWindowFields |
× |
× |
× |
√ |
× |
× |
√ |
let |
× |
× |
× |
× |
× |
× |
√ |
$expr (using indexes) |
× |
× |
× |
× |
× |
× |
√ |
$ifNull |
× |
× |
× |
× |
× |
× |
√ |
- √ indicates that an item is supported, and × indicates that an item is not supported.
- For details about how to evaluate the compatibility when migrating MongoDB from a later version to an earlier version, see How Do I Evaluate the Compatibility When Migrating MongoDB from a Later Version to an Earlier Version?
DDS Features
Category |
Feature |
Constraint |
DDS 4.0 |
DDS 4.2 |
DDS 4.4 |
DDS 5.0 |
Remarks |
||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DB Instance Type |
Single Node |
Replica Set |
Cluster |
Single Node |
Replica Set |
Cluster |
Single Node |
Replica Set |
Cluster |
Replica Set |
- |
||
Instance Management |
Creating an instance |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Deleting an instance |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Restarting an instance |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Resetting a password |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Changing an instance name |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Changing an instance port |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Performing a switchover |
- |
√ |
√ |
√ |
√ |
√ |
√ |
× |
√ |
× |
√ |
- |
|
Exporting the instance list |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Compute scale-up |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Compute scale-down |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Adding nodes |
- |
- |
√ |
√ |
- |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Deleting nodes |
- |
- |
× |
× |
- |
× |
× |
× |
× |
× |
× |
- |
|
Storage scale-up |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Storage scale-down |
- |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
- |
|
Restarting a node |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
OpenAPI |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
SDK |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Task center |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Tags |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Quotas |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Network Management |
EIP-based public network access |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Changing a private IP address |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Cross-CIDR access |
- |
√ |
√ |
√ |
× |
× |
× |
√ |
√ |
√ |
√ |
In DDS 4.2, 4.4 and 5.0, the client and an instance can communicate only when they are in the same VPC and subnet. If the client is a container, the client can communicate with an instance using an IP address in the default CIDR block 192.168.0.0/16, 172.16.0.0/24, or 10.0.0.0/8. |
|
Changing an AZ |
- |
√ |
√ |
√ |
× |
× |
× |
√ |
√ |
√ |
√ |
In DDS 4.2, 4.4 and 5.0, deploying an instance across multiple AZs is recommended. |
|
Domain name access |
- |
√ |
√ |
√ |
× |
× |
× |
× |
× |
× |
× |
In DDS 4.2, 4.4 and 5.0, you are advised to use the IP address to access an instance. |
|
Security |
Security group |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
SSL |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Instance recycle bin |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Storage encryption |
- |
√ |
√ |
√ |
× |
× |
× |
× |
× |
× |
× |
- |
|
Billing |
Converting a single node to a replica set |
- |
× |
- |
- |
× |
- |
- |
× |
- |
- |
- |
- |
Pay-per-use |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Yearly/Monthly |
- |
√ |
√ |
√ |
√ |
√ |
√ |
× |
× |
× |
× |
In open beta testing (OBT), DDS 5.0 does not support the yearly/monthly billing. |
|
Changing pay-per-use to yearly/monthly |
- |
√ |
√ |
√ |
√ |
√ |
√ |
× |
× |
× |
× |
In open beta testing (OBT), DDS 5.0 does not support the yearly/monthly billing. |
|
Changing yearly/monthly to pay-per-use |
- |
√ |
√ |
√ |
√ |
√ |
√ |
× |
× |
× |
× |
In open beta testing (OBT), DDS 5.0 does not support the yearly/monthly billing. |
|
Versions |
Minor version upgrade (manual) |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Minor version upgrade (automatic) |
- |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
- |
|
Major version upgrade (manual) |
- |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
- |
|
Logs |
Viewing slow query logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Downloading slow query logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Masking slow query logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Querying error logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Downloading error logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Configuring the audit log policy |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Querying audit logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Downloading audit logs |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Parameters |
Changing a parameter template |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Creating a parameter template |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Deleting a parameter template |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Modifying a parameter template |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Comparing parameter templates |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Backup and Restoration |
Automated backup |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Manual backup |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Deleting a backup |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Restoring to a new DB instance |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Restoring data to the original DB instance |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Restoring to an existing DB instance |
- |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
- |
|
Configuring an automated backup policy |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Incremental backup |
- |
√ |
√ |
√ |
× |
× |
× |
× |
× |
× |
× |
- |
|
PITR |
- |
× |
√ |
× |
× |
× |
× |
× |
× |
× |
× |
- |
|
Downloading a full backup file |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Downloading an incremental backup file |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
Cross-region backup |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Cross-region restoration |
- |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
O&M |
Creating a database role |
This operation can only be performed by calling a specified API. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
Creating a database account |
This operation can only be performed by calling a specified API. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Deleting a database role |
This operation can only be performed by calling a specified API. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Dropping a database user |
This operation can only be performed by calling a specified API. |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
|
Monitoring by seconds |
Minimum interval: 5s |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
√ indicates that an item is supported, and × indicates that an item is not supported.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot