Giter Club home page Giter Club logo

monger's Introduction

Monger, a modern Clojure MongoDB Driver

Build Status Monger is an idiomatic Clojure 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" and flexibility of the MongoDB shell.

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 would

  • Support most of modern MongoDB 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 7 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 "3.5.0"]

With Maven:

<dependency>
  <groupId>com.novemberain</groupId>
  <artifactId>monger</artifactId>
  <version>3.5.0</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.8+. The most recent stable release is highly recommended.

Continuous Integration Status

Continuous Integration status

Monger Is a ClojureWerkz Project

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

Development

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

./bin/ci/before_script.sh
lein 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.sh
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-2018 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.

monger's People

Contributors

michaelklishin avatar ifesdjeen avatar tobyhede avatar jokimaki avatar ebaxt avatar timgluz avatar deraen avatar xingzheone avatar seancorfield avatar jacobemcken avatar chrisbroome avatar biaspro avatar nethopper avatar eunmin avatar geuscht-m avatar kronos avatar zussitarze avatar robhanlon22 avatar karstendick avatar dobladez avatar crinklywrappr avatar temochka avatar bdrillard avatar freezystem avatar okorz001 avatar punit-naik avatar rbxbx avatar cymantic avatar ikitommi avatar tuhlmann avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.