The biggest release ever of MongoDB has improvements to aggregation, text-search integration, query-engine improvements, a new write-operation protocol, and security enhancements.
The aggregation pipeline adds the ability to return result sets of any size, either by returning a cursor or writing the output to a collection. It also supports variables and adds new operations to handle sets and redact data. Text search is now enabled by default, and the query system can resolve text-search queries.
Security is improved with better SSL support, x.509-based authentication, an improved authorization system with more granular controls, and centralized credential storage.
The query engine work means MongoDB can now use index intersection if you want to write queries that use more than one index. You can set index filters to limit which indexes can become the winning plan for a query, and use Query Plan Cache Methods to view and clear the query plans cached by the query optimizer. You can also set query runtime limits to specify the maximum length of time a query can run.
The index build process is another area that has been improved. Specifically, if you initiate a background index build on a primary, the secondaries will replicate the index build in the background. In addition, if a standalone or a primary instance terminates during an index build without a clean shutdown, MongoDB now restarts the index build when the instance restarts. The ability to carry out background index building overcomes the problem caused when the building of indexes in the foreground causes a global lock so blocking all other database operations until the index has finished building - including killing the index build. Sharding and network connections and pool management have also been improved.
In a blog post discussing the changes, Eliot Horowitz, CTO and Co-founder of MongoDB, says the team re-wrote the entire query execution engine to improve scalability, and took a first step in building a sophisticated query planner by introducing index intersection.
“You’ll see the benefits in better performance and new innovations. We re-wrote the entire query execution engine to improve scalability, and took our first step in building a sophisticated query planner by introducing index intersection. We’ve made the codebase easier to maintain, and made it easier to implement new features. Finally, MongoDB 2.6 lays the foundation for massive improvements to concurrency in MongoDB 2.8, including document-level locking.”