diff --git a/src/monger/core.clj b/src/monger/core.clj index b9f4770..49addc5 100644 --- a/src/monger/core.clj +++ b/src/monger/core.clj @@ -11,7 +11,7 @@ :doc "Thin idiomatic wrapper around MongoDB Java client. monger.core includes fundamental functions that work with connections & databases. Most of functionality is in the monger.collection namespace."} - monger.core + monger.core (:refer-clojure :exclude [count]) (:use [monger.conversion]) (:import (com.mongodb Mongo DB WriteConcern DBObject DBCursor) @@ -48,6 +48,7 @@ ([{ :keys [host port] :or { host *mongodb-host*, port *mongodb-port* }}] (Mongo. ^String host ^Long port))) + (defn ^DB get-db "Get database reference by name. @@ -61,6 +62,16 @@ (.getDB connection name))) +(defn connect! + ^Mongo [& args] + (def ^:dynamic *mongodb-connection* (apply connect args))) + + +(defn set-db! + [db] + (def ^:dynamic *mongodb-database* db)) + + (defprotocol Countable (count [this] "Returns size of the object")) diff --git a/test/monger/test/core.clj b/test/monger/test/core.clj index 83d1336..d5af000 100644 --- a/test/monger/test/core.clj +++ b/test/monger/test/core.clj @@ -4,9 +4,8 @@ (:use [clojure.test])) -(monger.util/with-ns 'monger.core - (defonce ^:dynamic *mongodb-connection* (monger.core/connect)) - (defonce ^:dynamic *mongodb-database* (monger.core/get-db "monger-test"))) +(monger.core/connect!) +(monger.core/set-db! (monger.core/get-db "monger-test")) (deftest connect-to-mongo-with-default-host-and-port