Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Compatibility Changes in MongoDB 8.3

Important

MongoDB 8.3 Release Candidates

MongoDB 8.3 binaries are currently available only as release candidates. Release candidates can be used for early testing of new features, but are not suitable for production deployments.

This version of the manual is for an upcoming release and is currently a work in progress.

This page describes changes introduced in MongoDB 8.3 that can affect compatibility with older versions of MongoDB.

Starting in MongoDB 8.3 (and 8.2.4, 8.0.18, 7.0.29), stricter validation rules apply to wildcardProjection specifications in compound wildcard indexes. Existing indexes that do not meet the new validation requirements continue to function, but you cannot create new indexes that don't meet these requirements.

For complete details on the validation rules, see Wildcard Index Restrictions.

MongoDB 8.3 improves access to array element indexes in $map, $filter, and $reduce aggregation expressions. You can use the new arrayIndexAs field to set a variable to store the index of an array element. You can also use the new $$IDX aggregation system variable to access the index of the current array element if you omit arrayIndexAs.

If you create a view or collection validation rule that use the new array element index feature, you must update or remove the view or rule before downgrading from MongoDB 8.3 to an earlier version.

Starting in MongoDB 8.3, 2dsphereIndexVersion is set to version 4 by default.

If you need to downgrade the FCV to anything below 8.3, you must first drop the 2dsphere version 4 indexes.

The following sections provide information for removing backward-incompatible features from your deployment. If you are downgrading from MongoDB 8.3 to an earlier version, review the following sections to ensure that your deployment runs successfully after downgrading.

If you created views that use expressions introduced in MongoDB 8.3, those views may stop working after you downgrade to a version that does not support those expressions.

If you need to downgrade from 8.3, you must first update or drop any views that depend on expressions not supported in the target version.

If you created views or collection validators that use parameters or variables introduced in MongoDB 8.3, those objects may fail validation or evaluation after you downgrade.

If you need to downgrade from 8.3, you must first update or remove any views or validators that reference parameters or variables not supported in the target version.

MongoDB 8.3 can mark collections as validated using new validation semantics that are not compatible with versions earlier than 8.3. If you attempt to downgrade while validated collections exist, the downgrade fails.

If you need to downgrade from 8.3, you must first change validated collections to a validation level supported in the target version or drop those collections. $facet Memory-Limit Error Code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Starting in MongoDB 8.3, when a $facet stage constructs a document larger than the 100 megabyte limit, MongoDB returns the ExceededMemoryLimit error.

In earlier versions, stages that exceed the memory limit return the error code 4031700. If you have applications, drivers, or tools that explicitly check for 4031700, you can adjust your code to recognize ExceededMemoryLimit instead.

Starting in MongoDB 8.3, the server is able to parse the full range of all representable double precision floating point numbers. This includes subnormal numbers where the most significant digit has leading zeroes and the exponent has the least possible value. In earlier versions of MongoDB, the server returns an error when you try to parse these numbers.

For details, see Subnormal Numbers.

When you downgrade from MongoDB 8.3 to an earlier version, the activeBalancerWindowDOW configuration is not available. On downgrade, the balancer defaults to using the activeWindow setting.

No manual downgrade steps are required, but any custom day-of-week (DOW) configurations made in 8.3 do not apply after downgrading.

Back

8.3 (Upcoming)

On this page