Latest development in branch 3.6
3.6.23-rc0
Released 16 Feb 2021
(5 years ago)
SoftwareMongoDB Server
Version3.6
Status
End of life
Initial release3.6.0
01 Dec 2017
(8 years ago)
Latest release3.6.23-rc0
16 Feb 2021
(5 years ago)
End of life30 Apr 2021
(Ended 5 years, 1 month ago)
Release noteshttps://www.mongodb.com/docs/manual/release-notes/3.6/
Documentationhttps://www.mongodb.com/docs/v3.6/
Downloadhttps://www.mongodb.com/try/download/community
MongoDB Server 3.6 ReleasesView full list

What Is New in MongoDB 3.6

Category Key Changes
New Features Change Streams, Retryable Writes, JSON Schema Validation, Tunable Consistency
Improvements Aggregation Pipeline Enhancements, Faster Mongodump/Mongorestore, Improved Index Builds
Security LDAP Authorization, x.509 Certificate Authentication with User Name Mapping
Deprecations MMAPv1 Storage Engine, $isolated Operator, copyCommittedLog Option

How does MongoDB 3.6 handle real-time data changes?

Change Streams are the headline feature, allowing applications to subscribe to all data changes on a collection, database, or entire deployment. This gives you a real-time feed of inserts, updates, and deletes without the complexity of tailing the oplog. In practice, this enables powerful reactive application patterns and is a game-changer for building event-driven architectures directly on MongoDB.

The streams provide a well-defined API that returns change events in a predictable, ordered format. You can even resume streams using a resume token, which is crucial for handling network interruptions without missing a beat.

What improvements did 3.6 make for data integrity?

JSON Schema Validation allows you to enforce a predefined schema on your collections at the database level. You define rules for document structure, data types, and required fields using a JSON Schema dialect. This is a significant step beyond basic document validation because it uses a widely understood standard.

You can apply validation rules on existing collections using the collMod command or when creating new ones. The validator can be set to warn or error mode, giving you flexibility during schema migrations.

How did write operations become more reliable?

Retryable Writes solve a classic pain point by allowing the MongoDB driver to automatically retry certain write operations if they encounter a network error or replica set failover. This makes applications more resilient without requiring complex retry logic in your application code.

Supported operations include insertOne, updateOne, deleteOne, and findAndModify. The driver handles the idempotency concerns, so you don't have to worry about accidentally creating duplicate documents during a retry.

What new aggregation features were introduced?

The aggregation pipeline gained several powerful new stages and expressions. The $lookup stage was supercharged with support for uncorrelated subqueries and more complex join conditions, moving it far beyond a simple equality match.

New array expression operators like $reduce and $indexOfArray provided much more flexibility for manipulating array data directly within the database. These additions made it possible to handle more complex data transformation logic entirely within the aggregation framework, reducing the need to process data in the application layer.

How did security get upgraded in this release?

LDAP Authorization (Enterprise Feature) allows you to map LDAP groups to user-defined roles on the MongoDB server. This enables centralized user management through your existing LDAP directory, which is a huge win for enterprise deployments already using LDAP.

For x.509 authentication, user name mapping was added, allowing certificates to map to a specific MongoDB user. This simplifies the configuration process for certificate-based authentication schemes, making them more practical for large-scale deployments.

FAQ

Can I use Change Streams with a standalone MongoDB instance?
No, Change Streams are only available when connected to a replica set or sharded cluster. This is because they rely on the oplog, which is a feature of replication.

Are Retryable Writes enabled by default?
Yes, retryable writes are enabled by default in the 3.6 driver when connected to a 3.6+ MongoDB deployment. You can control this behavior through the retryWrites connection string option.

What happens if a document fails JSON Schema validation?
It depends on the validation action you configured. In "error" mode, the operation will fail and return an error. In "warn" mode, the operation will succeed but log a warning message.

Is the MMAPv1 storage engine immediately unavailable in 3.6?
No, it's deprecated but still available. However, it's removed in MongoDB 4.0, so you should start migrating to the WiredTiger storage engine immediately.

Can I use the new $lookup features on a sharded collection?
The uncorrelated subquery feature in $lookup does not work when the from collection is sharded. The classic correlated $lookup (equality match) continues to work with sharded collections.

Releases In Branch 3.6

VersionRelease date
3.6.23-rc016 Feb 2021
(5 years ago)
3.6.2316 Feb 2021
(5 years ago)
3.6.22-rc024 Jan 2021
(5 years ago)
3.6.2224 Jan 2021
(5 years ago)
3.6.21-rc311 Nov 2020
(5 years ago)
3.6.2111 Nov 2020
(5 years ago)
3.6.21-rc210 Nov 2020
(5 years ago)
3.6.21-rc102 Nov 2020
(5 years ago)
3.6.21-rc026 Oct 2020
(5 years ago)
3.6.20-rc203 Sep 2020
(5 years ago)
3.6.2003 Sep 2020
(5 years ago)
3.6.20-rc128 Aug 2020
(5 years ago)
3.6.20-rc019 Aug 2020
(5 years ago)
3.6.19-rc014 Jul 2020
(5 years ago)
3.6.1914 Jul 2020
(5 years ago)
3.6.18-rc008 Apr 2020
(6 years ago)
3.6.1808 Apr 2020
(6 years ago)
3.6.17-rc016 Jan 2020
(6 years ago)
3.6.1716 Jan 2020
(6 years ago)
3.6.16-rc022 Nov 2019
(6 years ago)
3.6.1622 Nov 2019
(6 years ago)
3.6.15-rc130 Oct 2019
(6 years ago)
3.6.1530 Oct 2019
(6 years ago)
3.6.15-rc028 Oct 2019
(6 years ago)
3.6.8-rc124 Oct 2019
(6 years ago)
3.6.14-rc013 Aug 2019
(6 years ago)
3.6.1413 Aug 2019
(6 years ago)
3.6.13-rc104 Jun 2019
(7 years ago)
3.6.1304 Jun 2019
(7 years ago)
3.6.13-rc027 May 2019
(7 years ago)
3.6.12-rc102 Apr 2019
(7 years ago)
3.6.1202 Apr 2019
(7 years ago)
3.6.12-rc025 Mar 2019
(7 years ago)
3.6.11-rc225 Feb 2019
(7 years ago)
3.6.1125 Feb 2019
(7 years ago)
3.6.11-rc121 Feb 2019
(7 years ago)
3.6.11-rc018 Feb 2019
(7 years ago)
3.6.10-rc110 Jan 2019
(7 years ago)
3.6.1010 Jan 2019
(7 years ago)
3.6.10-rc007 Jan 2019
(7 years ago)
3.6.9-rc005 Nov 2018
(7 years ago)
3.6.905 Nov 2018
(7 years ago)
3.6.810 Sep 2018
(7 years ago)
3.6.8-rc006 Sep 2018
(7 years ago)
3.6.7-rc117 Aug 2018
(7 years ago)
3.6.717 Aug 2018
(7 years ago)
3.6.7-rc014 Aug 2018
(7 years ago)
3.6.6-rc003 Jul 2018
(7 years ago)
3.6.603 Jul 2018
(7 years ago)
3.6.5-rc011 May 2018
(8 years ago)
3.6.511 May 2018
(8 years ago)
3.6.4-rc006 Apr 2018
(8 years ago)
3.6.406 Apr 2018
(8 years ago)
3.6.3-rc116 Feb 2018
(8 years ago)
3.6.316 Feb 2018
(8 years ago)
3.6.3-rc014 Feb 2018
(8 years ago)
3.6.2-rc004 Jan 2018
(8 years ago)
3.6.204 Jan 2018
(8 years ago)
3.6.1-rc120 Dec 2017
(8 years ago)
3.6.120 Dec 2017
(8 years ago)
3.6.1-rc014 Dec 2017
(8 years ago)
3.6.001 Dec 2017
(8 years ago)
3.6.0-rc830 Nov 2017
(8 years ago)
3.6.0-rc729 Nov 2017
(8 years ago)
3.6.0-rc623 Nov 2017
(8 years ago)
3.6.0-rc522 Nov 2017
(8 years ago)
3.6.0-rc414 Nov 2017
(8 years ago)
3.6.0-rc307 Nov 2017
(8 years ago)
3.6.0-rc231 Oct 2017
(8 years ago)
3.6.0-rc124 Oct 2017
(8 years ago)
3.6.0-rc012 Oct 2017
(8 years ago)