MongoDB 1.8 is a drop-in replacement for 1.6, except:
- The options to the Map/Reduce command have changed in 1.8, causing incompatibility with previous releases. If you use MapReduce, please see Map Reduce Output Options page. If using map/reduce, this likely also means you need a recent version of your client driver.
To upgrade, shutdown the old mongod and the restart with the new binaries. See Upgrading to 1.8.x for more details.
MongoDB Download Page
What's New
Journaling
MongoDB now supports write-ahead journaling to facilitate fast crash recovery and durability in the storage engine. With journaling enabled, a mongod can be quickly restarted following a crash without needing to repair the collections.
Sparse and Covered Indexes
Sparse Indexes are indexes that only include documents that contain the fields specified in the index. Documents missing the field will not appear in the index at all. This can significantly reduce index size for attributes that are contained in a subset of documents within a collection.
Covered Indexes enable queries to be answered entirely from the index when the query only requests fields that are contained in the index.
Incremental Map/Reduce Support
Map/Reduce supports new output options that enable incrementally updating existing collections. Previously, a Map/Reduce job could either output to a temporary collection a named permanent collection; which it would overwrite with new data.
You now have several options for the output of your map/reduce jobs
- You can merge Map/Reduce output into an existing collection. Output from the Reduce phase will replace existing keys in the output collection if it already exists. Other keys will remain in the collection.
- You can now re-reduce your output with the contents of an existing collection. Each key output by the reduce phase will be reduced with the existing document in the output collection.
- You can replace the existing output collection with the new results of the Map/Reduce job (equivalent to setting a permanent output collection in previous releases)
- You can compute map/reduce inline and return results to the caller without persisting the results of the job. This is similar to the temporary collections generated in previous releases, except results are limited to 8MB.
The new map/reduce options are documented here.
Additional Changes and Enhancements
1.8.1
- sharding migrate fix when moving larger chunks
- durability fix with background indexing
- fixed mongos concurrency issue with many incoming connections
1.8.0
- All changes from 1.7.x series.
1.7.6
1.7.5
- journaling
- extent allocation improvements
- improved replica set connectivity for mongos
- getLastError improvements for sharding
1.7.4
1.7.3
1.7.2
1.7.1
- Many sharding performance enhancements
- better support for $elemMatch on primitives in embedded arrays
- Query optimizer enhancements on range queries
- Window service enhancements
- Replica set setup improvements
- $pull works on primitives in arrays
1.7.0
- sharding performance improvements for heavy insert loads
- slave delay support for replica sets
- getLastErrorDefaults for replica sets
- auto completion in the shell
- spherical distance for geo search
- all fixes from 1.6.1 and 1.6.2
Release Announcement Forum Pages
See Also
PLEASE POST QUESTIONS IN THE USER GROUPS FORUM. Post non-question comments and helpful hints here.
blog comments powered by Disqus