Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Monger is an idiomatic Clojure MongoDB driver for a more civilized age: with sane defaults, batteries included, well documented, very fast

Explain that this crap hasn't originated in Monger

We have to cope with the retarded API in MongoDB server and Java driver 2.x.

3.0 is much more sensible, by the way.

README.md

Monger, a modern Clojure MongoDB Driver

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. Monger is built from for modern Clojure versions and sits on top of the official MongoDB Java driver.

Project Goals

There is one MongoDB client for Clojure that has been around since 2009. So, why create another one? Monger authors wanted a client that will

  • Support most of MongoDB 2.0+ features, focus on those that really matter.
  • Be well documented.
  • Be well tested.
  • Target modern Clojure versions.
  • Be as close to the Mongo shell query language as practical
  • Integrate with libraries like Joda Time, Cheshire, clojure.data.json, Ragtime.
  • Support URI connections to be friendly to Heroku and other PaaS providers.
  • Not carry technical debt from 2009 forever.
  • Integrate usage of JavaScript files and ClojureScript (as soon as the compiler gets artifact it is possible to depend on for easy embedding).

Project Maturity

Monger is not a young project: started in July 2011, it is over 3 years old with active production use from week 1.

Artifacts

Monger artifacts are released to Clojars. If you are using Maven, add the following repository definition to your pom.xml:

<repository>
  <id>clojars.org</id>
  <url>http://clojars.org/repo</url>
</repository>

The Most Recent Release

With Leiningen:

[com.novemberain/monger "2.0.1"]

With Maven:

<dependency>
  <groupId>com.novemberain</groupId>
  <artifactId>monger</artifactId>
  <version>2.0.1</version>
</dependency>

Getting Started

Please refer to our Getting Started guide. Don't hesitate to join our mailing list and ask questions, too!

Documentation & Examples

Please see our documentation guides site and API reference.

Our test suite also has many code examples.

Community

Monger has a mailing list. Feel free to join it and ask any questions you may have.

To subscribe for announcements of releases, important changes and so on, please follow @ClojureWerkz on Twitter.

Supported Clojure versions

Monger requires Clojure 1.6+. The most recent stable release is highly recommended.

Continuous Integration Status

Continuous Integration status Dependencies Status

Monger Is a ClojureWerkz Project

Monger is part of the group of Clojure libraries known as ClojureWerkz, together with Cassaforte, Langohr, Elastisch, Titanium, Quartzite and several others.

Development

Monger uses Leiningen 2. Make sure you have it installed and then run tests against supported Clojure versions using

lein all do clean, javac, test

Then create a branch and make your changes on it. Once you are done with your changes and all tests pass, submit a pull request on Github.

License

Copyright (C) 2011-2015 Michael S. Klishin, Alex Petrov, and the ClojureWerkz team.

Double licensed under the Eclipse Public License (the same as Clojure) or the Apache Public License 2.0.

Something went wrong with that request. Please try again.