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. Additionally, the aggregation pipeline supports
variables and adds new operations to handle sets and redact data.

The db.collection.aggregate() now returns a cursor, which
enables the aggregation pipeline to return result sets of any size.

Aggregation pipelines now support an explain operation to aid
analysis of aggregation operations.

Aggregation can now use a more efficient external-disk-based sorting
process.

MongoDB 2.6 enhances support for secure deployments through improved SSL
support, x.509-based authentication, an improved authorization system
with more granular controls, as well as centralized credential storage, and
improved user management tools.

Background index build allowed on
secondaries. If you initiate a background index build on a
primary, the secondaries will replicate the index build in
the background.

Automatic rebuild of interrupted index builds after a restart.

If a standalone or a primary instance terminates during an index
build without a clean shutdown, mongod now restarts
the index build when the instance restarts. If the instance shuts
down cleanly or if a user kills the index build, the interrupted
index builds do not automatically restart upon the restart of the
server.

If a secondary instance terminates during an index build, the
mongod instance will now restart the interrupted index
build when the instance restarts.

usePowerOf2Sizes is now the default allocation strategy for
all new collections. The new allocation strategy uses more storage
relative to total document size but results in lower levels of
storage fragmentation and more predictable storage capacity planning
over time.

Connection pools for a mongos instance may be used by multiple
MongoDB servers. This can reduce the number of connections needed
for high-volume workloads and reduce resource consumption in
sharded clusters.

The C++ driver now monitors replica set health with the
isMaster command instead of
replSetGetStatus. This allows the C++ driver to support
systems that require authentication.

New cursor.maxTimeMS() and corresponding maxTimeMS
option for commands to specify a time limit.

Some changes in 2.6 can affect compatibility and may require user actions. The
2.6 mongo shell provides a
db.upgradeCheckAllDBs() method to perform a check for upgrade
preparedness for some of these changes.