Support explicit database parameter for monger.collection/insert

This commit is contained in:
Michael S. Klishin 2012-01-29 06:04:11 +04:00
parent a895902805
commit e5af694cc7
2 changed files with 12 additions and 2 deletions

View file

@ -32,11 +32,14 @@
(monger.collection/insert \"people\" { :name \"Joe\", :age 30, WriteConcern/SAFE }) (monger.collection/insert \"people\" { :name \"Joe\", :age 30, WriteConcern/SAFE })
" "
([^String collection, ^DBObject document] ([^String collection ^DBObject document]
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)] (let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
(.insert ^DBCollection coll ^DBObject (to-db-object document) ^WriteConcern monger.core/*mongodb-write-concern*))) (.insert ^DBCollection coll ^DBObject (to-db-object document) ^WriteConcern monger.core/*mongodb-write-concern*)))
([^String collection, ^DBObject document, ^WriteConcern concern] ([^String collection ^DBObject document ^WriteConcern concern]
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)] (let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
(.insert ^DBCollection coll ^DBObject (to-db-object document) ^WriteConcern concern)))
([^DB db ^String collection ^DBObject document ^WriteConcern concern]
(let [^DBCollection coll (.getCollection db collection)]
(.insert ^DBCollection coll ^DBObject (to-db-object document) ^WriteConcern concern)))) (.insert ^DBCollection coll ^DBObject (to-db-object document) ^WriteConcern concern))))

View file

@ -30,6 +30,13 @@
(is (monger.result/ok? (mgcol/insert "people" doc))) (is (monger.result/ok? (mgcol/insert "people" doc)))
(is (= 1 (mgcol/count collection))))) (is (= 1 (mgcol/count collection)))))
(deftest insert-a-basic-document-with-explicitly-passed-database-without-id-and-with-default-write-concern
(let [collection "people"
doc { :name "Joe", :age 30 }]
(dotimes [n 5]
(is (monger.result/ok? (mgcol/insert monger.core/*mongodb-database* "people" doc WriteConcern/SAFE))))
(is (= 5 (mgcol/count collection)))))
(deftest insert-a-basic-document-without-id-and-with-explicit-write-concern (deftest insert-a-basic-document-without-id-and-with-explicit-write-concern
(let [collection "people" (let [collection "people"
doc { :name "Joe", :age 30 }] doc { :name "Joe", :age 30 }]