- Notifications
You must be signed in to change notification settings - Fork108
Monger is an idiomatic Clojure MongoDB driver with sane defaults, batteries included, well documented, low overhead
michaelklishin/monger
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Monger is an idiomaticClojure MongoDB driver for a more civilized age.
It has batteries included, offers powerful expressive query DSL,strives to support modern MongoDB features and have the "look and feel" andflexibility of the MongoDB shell.
Monger is built from for modern Clojure versions and sits on top ofthe official MongoDB Java driver.
There is one MongoDB client for Clojure that has been around since 2009. So, why create another one? Monger authorswanted a client that would
- Support most of modern MongoDB features, focus on those that really matter.
- Bewell documented.
- Bewell 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).
Monger is not a young project: started in July 2011, it is over 7years old with active production use from week 1.
Monger artifacts arereleased toClojars. If you are usingMaven, add the following repository definition to yourpom.xml
:
<repository> <id>clojars.org</id> <url>http://clojars.org/repo</url></repository>
With Leiningen:
[com.novemberain/monger "3.5.0"]
With Maven:
<dependency> <groupId>com.novemberain</groupId> <artifactId>monger</artifactId> <version>3.5.0</version></dependency>
Please refer to ourGetting Startedguide. Don'thesitate to join ourmailinglist and askquestions, too!
Please see ourdocumentation guides site andAPI reference.
Ourtest suitealso has many code examples.
Monger has a mailing list. Feelfree to join it and ask any questions you may have.
To subscribe for announcements of releases, important changes and soon, please follow@ClojureWerkzon Twitter.
Monger requires Clojure 1.8+. The most recentstable release is highly recommended.
Monger is part of thegroup of Clojure libraries known as ClojureWerkz, together withCassaforte,Langohr,Elastisch,Quartzite and several others.
Monger usesLeiningen 2. Make sure you have it installed and then run tests againstsupported Clojure versions using
./bin/ci/before_script.shlein all do clean, javac, test
Or, if you don't have mongodb installed, you can use docker
docker-compose up./bin/ci/before_script_docker.shlein 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 requeston Github.
Copyright (C) 2011-2018Michael S. Klishin, Alex Petrov, and the ClojureWerkz team.
Double licensed under theEclipse Public License (the same as Clojure) ortheApache Public License 2.0.
About
Monger is an idiomatic Clojure MongoDB driver with sane defaults, batteries included, well documented, low overhead