const classafMongo::Index
sys::Obj afMongo::Index
Represents a MongoDB index.
- ASC
const static Int ASC := 1Use in
keyarguments to denote sort order.- DESC
const static Int DESC := -1Use in
keyarguments to denote sort order.- create
This create(Str:Obj key, Bool? unique := (Bool?)false, Str:Obj options := ([Str:Obj])[:])Creates this index.
keyis a map of fields to index type. Values may either be the standard Mongo1and-1for ascending / descending or the stringsASC/DESC.index.create(["dateAdded" : Index.ASC])
Note that should
keycontain more than 1 entry, it must be ordered.The
optionsparameter is merged with the Mongo command. Options are numerous (see the MongoDB documentation for details) but common options are:Name
Type
Desc
background
Bool
Builds the index in the background so it does not block other database activities.
sparse
Bool
Only reference documents with the specified field. Uses less space but behave differently in sorts.
expireAfterSeconds
Int
Specifies a Time To Live (TTL) in seconds that controls how long documents are retained.
@see http://docs.mongodb.org/manual/reference/command/createIndexes/
- drop
This drop(Bool checked := true)Drops this index.
@see http://docs.mongodb.org/manual/reference/command/dropIndexes/
- ensure
Bool ensure(Str:Obj key, Bool? unique := (Bool?)false, Str:Obj options := ([Str:Obj])[:])Ensures this index exists. If the index does not exist, it is created. If it exists but with a different key / options, it is dropped and re-created.
Returns
trueif the index was (re)-created,falseif nothing changed.index.ensure(["dateAdded" : Index.ASC])
Note that should
keycontain more than 1 entry, it must be ordered.The
optionsparameter is merged with the Mongo command. Options are numerous (see the MongoDB documentation for details) but common options are:Name
Type
Desc
background
Bool
Builds the index in the background so it does not block other database activities.
sparse
Bool
Only reference documents with the specified field. Uses less space but behave differently in sorts.
expireAfterSeconds
Int
Specifies a Time To Live (TTL) in seconds that controls how long documents are retained.
@see http://docs.mongodb.org/manual/reference/command/createIndexes/
- exists
Bool exists()Returns
trueif this index exists.- info
Returns index info.
@see http://docs.mongodb.org/manual/reference/method/db.collection.getIndexes/
- make
new make(ConnectionManager conMgr, Str collectionQname, Str indexName, |This? f := null)Creates an
Indexwith the given details.- name
const Str nameThe name of this index.