Unpacking the Latest Features and Enhancements of MongoDB 7.0
Uncover the new capabilities of MongoDB 7.0, from performance improvements to enhancements
Introduction
The recent release of MongoDB 7.0 continues this tradition of innovation, introducing a series of enhancements that promise to revolutionize the way developers interact with their data.
Whether you are a seasoned MongoDB user or exploring it for the first time, the latest version offers exciting opportunities to take your development to the next level.
MongoDB has found its way into various industry applications, from large-scale e-commerce platforms, Stream Processing, Transactional, and Analytical to intricate Internet of Things (IoT) networks.
What's new in MongoDB 7.0?
New Aggregations Operators
MongoDB 7.0 brings two new aggregation operators $median
and $percentile
$median: In a dataset, the median is the percentile value where 50% of the data falls at or below that value.
We can use
$median
as an accumulator in the$group
or$setWindowFields
stage or as an aggregation expression in$project
. The syntax for$median
is:{ $median: { input: <number>, method: <string> } } // The method must be 'approximate'
$percentile: In a dataset, a given percentile is a value where that percentage of the data falls at or below that value.
We can use
$percentile
as an accumulator in the$group
or$setWindowFields
stage or as an aggregation expression in$project
. The syntax for$percentile
is:{ $percentile: { input: <expression>, p: [ <expression1>, <expression2>, ... ], method: <string> } } // 'p' must evaluate to numeric values in the range 0.0 to 1.0 inclusive. // method must be 'approximate'
If you are looking to learn more about aggregations, you can check this article with sample datasets top 5 essential aggregations of MongoDB
Time Series Collections
Time series data is a sequence of data points, typically measures at successive points in time. for e.g. stock prices, temperature readings.
Time series collections in MongoDB are specifically designed to handle time series data. These are optimized for storing, querying, and processing timestamped data.
Time series collections were first introduced in version 5.0 of MongoDB and were having some limitations. The new MongoDB version 7.0 removes most of the time series limitations that were based on the $delete
command.
Together with this, it also brings significant improvements to working with time series data which results in improved storage and query performance.
Compound Wildcard Indexes
MongoDB 7.0 supports creating wildcard indexes on a field or a set of fields. A compound wildcard index has one wildcard term and one or more additional index terms.
To create a wildcard index on a single field use the following syntax:
db.collection.createIndex( { "<field>.$**": <sortOrder> } )
To create a wildcard index on all fields excluding _id
we can use the following syntax:
db.<collection>.createIndex( { "$**": <sortOrder> } )
Atlas Search Index Management
MongoDB's Atlas Search feature allows fine-grained text indexing and querying of data. This feature is only available on Atlas Clusters.
Atlas Search index is a data structure that categorizes data in an easily searchable format. In simple words, it is the mapping between terms and documents that contain these terms.
In MongoDB 7.0 we can now manage Atlas Search Indexes with mongosh
methods and database commands.
Large Change Stream Events
Change Streams allow applications to access real-time data changes without complexity and risk of tailing the operation log i.e oplog
.
Change Streams can be beneficial for reliable business systems architectures, informing downstream systems once data changes are durable.
In the new version of MongoDB, if you have change stream events larger than 16MB, we can use the new $changeStreamSplitLargeEvent
stage to split events into smaller fragments.
Security
Starting in MongoDB 7.0, security capabilities have been strengthened by making general availability of Queryable Encryption.
Queryable Encryption offers end-to-end encryption of sensitive data while preserving the ability to run equality queries on that encrypted data.
Working Model of Queryable Encryption:
The latest version of MongoDB Enterprise version supports OIDC i.e. OpenID connect authentication.
Upgrading to MongoDB 7.0
To upgrade a standalone from a previous major release, kindly follow the guidelines mentioned here
If you are trying to install the latest version of MongoDB, visit this link
At the time of writing this article, MongoDB 7.0 was not available via Docker Hub but should be available in near time.
Conclusion
With a full set of new features, security improvements, and other enhancements, MongoDB 7.0 is the perfect choice for organizations to take their development to the next level.
I hope you have learned something new as I did. If so, kindly like and share the article and also follow me to read more exciting articles. You can check my social links here.
References
General Acknowledgment
The images used to describe the Atlas Search Index and Model of Queryable Encryption have been taken from the MongoDB website and are owned by MongoDB Inc.