Make it possible to pass fields to index as any collection (not just map)
This commit is contained in:
parent
52c5e15008
commit
4df673d127
3 changed files with 23 additions and 19 deletions
|
|
@ -1,6 +1,9 @@
|
|||
## Changes between 1.0.0-rc1 and 1.0.0-rc2
|
||||
|
||||
No changes yet.
|
||||
### More flexible monger.collection/ensure-index and monger.collection/create-index
|
||||
|
||||
`monger.collection/ensure-index` and `monger.collection/ensure-index` now accept fields to index as a collection
|
||||
(e.g. a vector) as well as a map. It is convenient when creating multiple single-field indexes at once.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -437,14 +437,14 @@
|
|||
|
||||
"
|
||||
([^String collection ^Map keys]
|
||||
(.createIndex (.getCollection monger.core/*mongodb-database* collection) (to-db-object keys)))
|
||||
(.createIndex (.getCollection monger.core/*mongodb-database* collection) (as-field-selector keys)))
|
||||
([^String collection ^Map keys options]
|
||||
(.createIndex (.getCollection monger.core/*mongodb-database* collection)
|
||||
(to-db-object keys)
|
||||
(as-field-selector keys)
|
||||
(to-db-object options)))
|
||||
([^DB db ^String collection ^Map keys ^Map options]
|
||||
(.createIndex (.getCollection db collection)
|
||||
(to-db-object keys)
|
||||
(as-field-selector keys)
|
||||
(to-db-object options))))
|
||||
|
||||
|
||||
|
|
@ -464,14 +464,14 @@
|
|||
(monger.collection/ensure-index \"pages\" {:url 1} {:unique true})
|
||||
"
|
||||
([^String collection ^Map keys]
|
||||
(.ensureIndex (.getCollection monger.core/*mongodb-database* collection) (to-db-object keys)))
|
||||
(.ensureIndex (.getCollection monger.core/*mongodb-database* collection) (as-field-selector keys)))
|
||||
([^String collection ^Map keys ^Map options]
|
||||
(.ensureIndex (.getCollection monger.core/*mongodb-database* collection)
|
||||
(to-db-object keys)
|
||||
(as-field-selector keys)
|
||||
(to-db-object options)))
|
||||
([^String collection ^Map keys ^String name ^Boolean unique?]
|
||||
(.ensureIndex (.getCollection monger.core/*mongodb-database* collection)
|
||||
(to-db-object keys)
|
||||
(as-field-selector keys)
|
||||
name
|
||||
unique?)))
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
(:import org.bson.types.ObjectId
|
||||
java.util.Date)
|
||||
(:require [monger core util]
|
||||
[monger.collection :as mgcol]
|
||||
[monger.result :as mgres]
|
||||
[monger.collection :as mc]
|
||||
[monger.test.helper :as helper])
|
||||
(:use clojure.test
|
||||
[monger operators conversion]
|
||||
|
|
@ -18,15 +17,17 @@
|
|||
|
||||
(deftest ^{:indexing true} test-creating-and-dropping-indexes
|
||||
(let [collection "libraries"]
|
||||
(mgcol/drop-indexes collection)
|
||||
(mgcol/create-index collection { "language" 1 })
|
||||
(mc/drop-indexes collection)
|
||||
(mc/create-index collection { "language" 1 })
|
||||
(is (= "language_1"
|
||||
(:name (second (mgcol/indexes-on collection)))))
|
||||
(mgcol/drop-index collection "language_1")
|
||||
(is (nil? (second (mgcol/indexes-on collection))))
|
||||
(mgcol/ensure-index collection { "language" 1 } {:unique true})
|
||||
(:name (second (mc/indexes-on collection)))))
|
||||
(mc/drop-index collection "language_1")
|
||||
(mc/create-index collection ["language"])
|
||||
(mc/drop-index collection "language_1")
|
||||
(is (nil? (second (mc/indexes-on collection))))
|
||||
(mc/ensure-index collection { "language" 1 } {:unique true})
|
||||
(is (= "language_1"
|
||||
(:name (second (mgcol/indexes-on collection)))))
|
||||
(mgcol/ensure-index collection { "language" 1 })
|
||||
(mgcol/ensure-index collection { "language" 1 } { :unique true })
|
||||
(mgcol/drop-indexes collection)))
|
||||
(:name (second (mc/indexes-on collection)))))
|
||||
(mc/ensure-index collection { "language" 1 })
|
||||
(mc/ensure-index collection { "language" 1 } { :unique true })
|
||||
(mc/drop-indexes collection)))
|
||||
|
|
|
|||
Loading…
Reference in a new issue