TL;DR
Monger is an idiomatic Clojure MongoDB driver for a more civilized age. It has batteries included, offers powerful expressive query DSL, strives to support every MongoDB 2.0+ feature and has sane defaults. It also has solid documentation.
1.8.0
is a minor backwards-compatible release that updates MongoDB Java driver
and adds a few minor features. The next release will be 2.0
with some
major breaking API changes that we’ve announced earlier.
Changes between 1.7.0 and 1.8.0
Clojure 1.6
Monger now depends on org.clojure/clojure
version 1.6.0
. It is
still compatible with Clojure 1.4 and if your project.clj
depends on
a different version, it will be used, but 1.6 is the default now.
monger.result Use with WriteConcerns is Deprecated
MongoDB Java driver 2.12.x no longer guarantees connection affinity for thread pool threads.
This means that WriteConcern#getLastError
is no longer a safe from concurrency
hazards. Therefore the use of monger.result
functions on WriteConcern
instances
is now deprecated in MongoDB Java client and Monger.
MongoDB Java Driver Update
MongoDB Java driver dependency has been updated to 2.12.x.
Default WriteConcern Change
Monger now uses WriteConcern/ACKNOWLEDGED
by default. Functionality-wise
it is the same as WriteConcern/SAFE
in earlier versions.
monger.core/connect-via-uri
monger.core/connect-via-uri
is a version of monger.core/connect-via-uri!
which returns the connection instead of mutating a var.
It should be used by projects that are built from reloadable
components, together with monger.multi.*
.
Future Plans
The next Monger release will be 2.0
with some major breaking API
changes
that we’ve announced earlier.
Change Log
Monger change log is available on GitHub.
Monger is a ClojureWerkz Project
Monger is part of the group of libraries known as ClojureWerkz, together with
- Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
- Cassaforte, a Clojure Cassandra client built around CQL
- Elastisch, a minimalistic Clojure client for ElasticSearch
- Welle, a Riak client with batteries included
- Neocons, a client for the Neo4J REST API
- Quartzite, a powerful scheduling library
and several others. If you like Monger, you may also like our other projects.
Let us know what you think on Twitter or on the Clojure mailing list.
About the Author
@michaelklishin on behalf of the ClojureWerkz Team