Adding some docs for indexing.
This commit is contained in:
parent
410ef23b03
commit
1dc94ae351
1 changed files with 45 additions and 5 deletions
|
|
@ -153,12 +153,16 @@
|
||||||
|
|
||||||
Please note that update is potentially destructive operation. It will update your document with the given set
|
Please note that update is potentially destructive operation. It will update your document with the given set
|
||||||
emptying the fields not mentioned in (^Map document). In order to only change certain fields, please use
|
emptying the fields not mentioned in (^Map document). In order to only change certain fields, please use
|
||||||
\"$set\", for example:
|
\"$set\".
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
(monger.collection/update \"people\" { :first_name \"Raul\" } { \"$set\" { :first_name \"Paul\" } })
|
(monger.collection/update \"people\" { :first_name \"Raul\" } { \"$set\" { :first_name \"Paul\" } })
|
||||||
|
|
||||||
You can use all the Mongodb Modifier Operations ($inc, $set, $unset, $push, $pushAll, $addToSet, $pop, $pull
|
You can use all the Mongodb Modifier Operations ($inc, $set, $unset, $push, $pushAll, $addToSet, $pop, $pull
|
||||||
$pullAll, $rename, $bit) here, as well. Few examples:
|
$pullAll, $rename, $bit) here, as well
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
(monger.collection/update \"people\" { :first_name \"Paul\" } { \"$set\" { :index 1 } })
|
(monger.collection/update \"people\" { :first_name \"Paul\" } { \"$set\" { :index 1 } })
|
||||||
(monger.collection/update \"people\" { :first_name \"Paul\" } { \"$inc\" { :index 5 } })
|
(monger.collection/update \"people\" { :first_name \"Paul\" } { \"$inc\" { :index 5 } })
|
||||||
|
|
@ -167,6 +171,8 @@
|
||||||
|
|
||||||
It also takes modifiers, such as :upsert and :multi.
|
It also takes modifiers, such as :upsert and :multi.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
;; add :band field to all the records found in \"people\" collection, otherwise only the first matched record
|
;; add :band field to all the records found in \"people\" collection, otherwise only the first matched record
|
||||||
;; will be updated
|
;; will be updated
|
||||||
(monger.collection/update \"people\" { } { \"$set\" { :band \"The Beatles\" }} :multi true)
|
(monger.collection/update \"people\" { } { \"$set\" { :band \"The Beatles\" }} :multi true)
|
||||||
|
|
@ -185,11 +191,13 @@
|
||||||
(defn ^WriteResult save
|
(defn ^WriteResult save
|
||||||
"Saves an object to the given collection (does insert or update based on the object _id).
|
"Saves an object to the given collection (does insert or update based on the object _id).
|
||||||
|
|
||||||
If the object is not present in the database, insert operation will be performed:
|
If the object is not present in the database, insert operation will be performed.
|
||||||
|
If the object is already in the database, it will be updated.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
(monger.collection/save \"people\" { :first_name \"Ian\" :last_name \"Gillan\" })
|
(monger.collection/save \"people\" { :first_name \"Ian\" :last_name \"Gillan\" })
|
||||||
|
"
|
||||||
If the object is already in the database, it will be updated."
|
|
||||||
([^String collection, ^Map document]
|
([^String collection, ^Map document]
|
||||||
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
||||||
(.save coll (to-db-object document) monger.core/*mongodb-write-concern*)))
|
(.save coll (to-db-object document) monger.core/*mongodb-write-concern*)))
|
||||||
|
|
@ -201,6 +209,15 @@
|
||||||
;; monger.collection/remove
|
;; monger.collection/remove
|
||||||
|
|
||||||
(defn ^WriteResult remove
|
(defn ^WriteResult remove
|
||||||
|
"Removes objects from the database.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
|
(monger.collection/remove collection) ;; Removes all documents from DB
|
||||||
|
|
||||||
|
(monger.collection/remove collection { :language \"Clojure\" }) ;; Removes documents based on given query
|
||||||
|
|
||||||
|
"
|
||||||
([^String collection]
|
([^String collection]
|
||||||
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
||||||
(.remove coll (to-db-object {}))))
|
(.remove coll (to-db-object {}))))
|
||||||
|
|
@ -215,6 +232,14 @@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(defn create-index
|
(defn create-index
|
||||||
|
"Forces creation of index on a set of fields, if one does not already exists.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
|
;; Will create an index on \"language\" field
|
||||||
|
(monger.collection/create-index collection { \"language\" 1 })
|
||||||
|
|
||||||
|
"
|
||||||
[^String collection, ^Map keys]
|
[^String collection, ^Map keys]
|
||||||
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
||||||
(.createIndex coll (to-db-object keys))))
|
(.createIndex coll (to-db-object keys))))
|
||||||
|
|
@ -225,6 +250,14 @@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(defn ensure-index
|
(defn ensure-index
|
||||||
|
"Creates an index on a set of fields, if one does not already exist.
|
||||||
|
ensureIndex in Java driver is optimized and is inexpensive if the index already exists.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
|
(monger.collection/ensure-index collection { \"language\" 1 })
|
||||||
|
|
||||||
|
"
|
||||||
([^String collection, ^Map keys]
|
([^String collection, ^Map keys]
|
||||||
(let [coll ^DBCollection (.getCollection monger.core/*mongodb-database* collection)]
|
(let [coll ^DBCollection (.getCollection monger.core/*mongodb-database* collection)]
|
||||||
(.ensureIndex ^DBCollection coll ^DBObject (to-db-object keys))))
|
(.ensureIndex ^DBCollection coll ^DBObject (to-db-object keys))))
|
||||||
|
|
@ -238,6 +271,13 @@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(defn indexes-on
|
(defn indexes-on
|
||||||
|
"Return a list of the indexes for this collection.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
|
||||||
|
(monger.collection/indexes-on collection)
|
||||||
|
|
||||||
|
"
|
||||||
[^String collection]
|
[^String collection]
|
||||||
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
(let [^DBCollection coll (.getCollection monger.core/*mongodb-database* collection)]
|
||||||
(from-db-object (.getIndexInfo coll) true)))
|
(from-db-object (.getIndexInfo coll) true)))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue