Today, we are happy to announce that MongoDB version 3.6 has passed our tests and is generally available on the ObjectRocket platform.
What’s New in MongoDB 3.6?
You can get the full list of what is available in the MongoDB 3.6 release notes. Here are some of the updates and changes we wanted to highlight:
Tailing MongoDB’s oplog, is a popular feature with many uses, such as real-time notifications of all the changes to your database. (A tailable cursor is conceptually the same as the Unix “tail -f” command.)
If your application requires tailing the oplog, we have some good news! You no longer need to use tailable cursors to connect to each and every shard. Instead, you can use the watch() command to use some of the aggregation framework operators when streaming the oplog. Check our Percona Live 2018 presentation about change streams for more information.
MongoDB 3.6 comes with WiredTiger storage engine version 3.0. This version of the WiredTiger engine includes various performance enhancements. One enhancement we’re particularly excited about is faster in-place updates for large documents.
Client sessions created for applications that require causal consistency are now better supported. If an operation logically depends on a preceding operation, there is a causal relationship between the operations. Read more about causal consistency.
Retryable writes allow MongoDB drivers to automatically retry certain write operations a single time if they encounter network errors, or if they can’t find a healthy primary in the replica sets or sharded cluster. (Note that retryable writes are not supported in the MMAPv1 storage engine. You must use WiredTiger for this feature.) Read more about retryable writes.
As every new version, 3.6 fixes bugs that aren’t backported. Put simply, this means that some bugs affecting older versions are fixed in 3.6 but never backported for different reasons in previous versions, like 3.4 and 3.2.
The $lookup operator adds support for specifying multiple join conditions as well as uncorrelated subqueries by allowing variable specification and pipeline execution on the joined collection.
New operators include:
Array update operator (arrayFilters)
On the update and findandmodify commands, you may specify which elements to modify in an array field. Learn more.
JSON schema operator ($jsonSchema)
This operator matches documents that validate against the given JSON schema. Learn more.
Wire protocol and compression
If you’re upgrading to 3.6, we highly recommend you verify the following first:
- Make sure your driver is compatible with version 3.6. Check out the complete list of supported drivers.
- Make sure your codebase complies with these compatibility changes in 3.6.
What about MongoDB 4.0?
MongoDB released 4.0.0 during MongoDB World a few days ago. At ObjectRocket, we always run extensive tests before offering a major version upgrade on our platform. We’re currently evaluating 4.0’s stability and production readiness. We’ll post an update as soon as it’s available to ObjectRocket customers.
What happens next?
Set up a call with our support team and we’ll put an upgrade plan in place that fits your needs. We can help you get ahead of potential problems, avoid unplanned maintenance, and help you figure out development updates, driver settings, and/or set up maintenance windows.
Want to spin up a MongoDB 3.6 instance today? Head to the app and get started.