Warning
MongoDB 8.3 Not Yet Available
MongoDB 8.3 release candidates are not yet available. This version of the manual is for an upcoming release and is currently a work in progress.
General Changes
serverStatus Output
serverStatus includes the following new fields in its output:
metrics.commandsstatistics for theconnPoolStatscommand onmongodinstances
MongoDB 8.3 removes the service field in the serverStatus output.
Starting in MongoDB 8.3, you can exclude all optional fields
from the serverStatus output by specifying none: 1.
After you exclude all optional fields, you can then specify
the fields you want to include.
For details, see Exclude All Optional Fields.
You can also optionally specify lockContentionMetrics: 1 in the
serverStatus command to include lockContentionMetrics
in the output.
String Conversion Enhancements
Starting in MongoDB 8.3, $toString can convert additional
BSON types to strings, including objects, arrays, regular expressions,
MaxKeys, MinKeys, and timestamps. For details, see
$toString.
Sharding
findShardsOnConfigTimeoutMS Parameter
MongoDB 8.3 adds the findShardsOnConfigTimeoutMS parameter
which sets the timeout in milliseconds for find operations
against the config.shards namespace. For details, see
findShardsOnConfigTimeoutMS.
config.csrs.indexes Removed
MongoDB 8.3 removes the config.csrs.indexes namespace.
Time Series
Starting in MongoDB 8.3, creating an index with the name of "_id_" or
specifying a hint of "_id_" on time series collections returns an error.
Geospatial Index Generation
Starting in MongoDB 8.3, if a document contains both GeoJSON and legacy numeric coordinate fields, geospatial index generation prioritizes GeoJSON coordinates.
If your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior, you might need to rebuild your geospatial indexes.
This change may require you to rebuild geospatial indexes if your documents contain legacy numeric coordinate values that precede GeoJSON coordinates and existing indexes rely on that behavior. Review geospatial queries to confirm they return expected results.
Logging
Fields to Track Use of Memory by Queries
Starting in MongoDB 8.3, you can use the following new fields to track query memory use:
Field | Description |
|---|---|
| Number of bytes of tracked memory in use by the current query operation. |
| Maximum number of bytes of tracked memory in use by the current query operation. |
Both fields appear in the following places:
db.currentOp()outputDatabase profiler output
The peakTrackedMemBytes field also appears in the following places:
PlanCache.list()output$planCacheStatsoutput
General Changes
cachePressureQueryPeriodMilliseconds Parameter
MongoDB 8.3 adds the cachePressureQueryPeriodMilliseconds parameter
which sets the time interval MongoDB waits between checks for storage engine cache
pressure. If the storage engine is under cache pressure, MongoDB aborts the oldest
transaction. For details, see cachePressureQueryPeriodMilliseconds.
diagnosticDataCollectionDirectorySizeMB Parameter
MongoDB 8.3 increases the default value of
diagnosticDataCollectionDirectorySizeMB from 200 to 500
MiB.
BSONObjectTooLarge Code for Upsert Errors
Starting in 8.3, upsert operations that produce a BSON object
that is too large return the 10334 BSONObjectTooLarge error code.
In earlier versions, upsert operations that produce a BSON object that is too
large return the 17419 or 17420 error codes.
checkBSONConformance Field
Starting in 8.3, MongoDB no longer automatically enables the
checkBSONConformance field in the db.collection.validate() method
when full is true.