Earlier versions are licensed under the Eclipse Public License 1.0.
Monger is built from the ground up for Clojure 1.3 and later.
Monger tries to use the most recent MongoDB Java driver available under the hood and thus supports MongoDB 2.0 and later versions. Please note that some features may be specific to MongoDB 2.2, 2.4 or other releases.
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
We could not see how we could do this by contributing to an existing library with certain technical debt accumulated over 2+ years and many existing applications depending on its APIs not changing in any significant way. In August 2011 when Monger was started, it wasn't yet time to make CongoMongo move all the way to Clojure 1.3.0 (which was in alpha-beta release stage at the time).
Monger insert operations are efficient and have very little overhead compared to the underlying Java driver. Here are some numbers on a MacBook Pro from fall 2010 with Core i7 and an Intel SSD drive:
Testing monger.test.stress Inserting 1000 documents... "Elapsed time: 25.699 msecs" Inserting 10000 documents... "Elapsed time: 135.069 msecs" Inserting 100000 documents... "Elapsed time: 515.969 msecs"
SAFE write concern, it takes roughly 0.5 second to insert 100,000 documents after JVM warm-up with Clojure 1.3.0.
While these are certainly not scientific numbers (and latency distribution is not provided), they can serve as a decent
ball part figure: Monger has extremely low overhead over the MongoDB Java driver and you can expect it to process hundreds to tens of
thousands of documents per second, depending on the workload.
Please take a moment to tell us what you think about this guide on Twitter or the Monger mailing list
Let us know what was unclear or what has not been covered. Maybe you do not like the guide style or grammar or discover spelling mistakes. Reader feedback is key to making the documentation better.