class DefaultIndexesManager extends AbstractIndexesManager
A helper class to manage the indexes on a Mongo 3.x database.
- Annotations
- @deprecated
- Deprecated
(Since version 0.20.3) Internal: will be made private
- Alphabetic
- By Inheritance
- DefaultIndexesManager
- AbstractIndexesManager
- IndexesManager
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DefaultIndexesManager(db: DB with DBMetaCommands)(implicit ec: ExecutionContext)
- db
the subject database
Type Members
- final type NSIndex = indexes.NSIndex { type Pack = DefaultIndexesManager.this.Pack }
- Definition Classes
- IndexesManager
- type Pack = bson.collection.BSONSerializationPack.type
- Definition Classes
- DefaultIndexesManager → IndexesManager
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toany2stringadd[DefaultIndexesManager] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (DefaultIndexesManager, B)
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toArrowAssoc[DefaultIndexesManager] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def create(nsIndex: NSIndex): Future[WriteResult]
Creates the given index.
Creates the given index.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB import reactivemongo.api.indexes.NSIndex def createIndexes( db: DefaultDB, is: Seq[NSIndex.Default])( implicit ec: ExecutionContext): Future[Unit] = Future.sequence( is.map(idx => db.indexesManager.create(idx))).map(_ => {})
_Warning_: given the options you choose, and the data to index, it can be a long and blocking operation on the database. You should really consider reading http://www.mongodb.org/display/DOCS/Indexes before doing this, especially in production.
- nsIndex
the index to create
- Definition Classes
- AbstractIndexesManager → IndexesManager
- def drop(collectionName: String, indexName: String): Future[Int]
Drops the specified index on the given collection.
Drops the specified index on the given collection.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB def dropIndex(db: DefaultDB, name: String)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.drop("myColl", name)
- collectionName
the collection name
- indexName
the name of the index to be dropped
- returns
The number of indexes that were dropped.
- Definition Classes
- AbstractIndexesManager → IndexesManager
- def drop(nsIndex: NSIndex): Future[Int]
Drops the specified index.
Drops the specified index.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB import reactivemongo.api.indexes.NSIndex def dropIndex(db: DefaultDB, idx: NSIndex.Default)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.drop(idx)
- returns
The number of indexes that were dropped.
- Definition Classes
- IndexesManager
- def dropAll(collectionName: String): Future[Int]
Drops all the indexes on the specified collection.
Drops all the indexes on the specified collection.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB def dropAllIndexes(db: DefaultDB)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.dropAll("myColl")
- collectionName
the collection name
- returns
The number of indexes that were dropped.
- Definition Classes
- AbstractIndexesManager → IndexesManager
- def ensure(nsIndex: NSIndex): Future[Boolean]
Creates the given index only if it does not exist on this database.
Creates the given index only if it does not exist on this database.
The following rules are used to check the matching index: - if
nsIndex.isDefined
, it checks using the index name, - otherwise it checks using the key.import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB import reactivemongo.api.indexes.NSIndex def ensureIndexes( db: DefaultDB, is: Seq[NSIndex.Default])( implicit ec: ExecutionContext): Future[Unit] = Future.sequence( is.map(idx => db.indexesManager.ensure(idx))).map(_ => {})
_Warning_: given the options you choose, and the data to index, it can be a long and blocking operation on the database. You should really consider reading http://www.mongodb.org/display/DOCS/Indexes before doing this, especially in production.
- nsIndex
the index to create
- returns
true if the index was created, false if it already exists.
- Definition Classes
- AbstractIndexesManager → IndexesManager
- def ensuring(cond: (DefaultIndexesManager) => Boolean, msg: => Any): DefaultIndexesManager
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toEnsuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (DefaultIndexesManager) => Boolean): DefaultIndexesManager
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toEnsuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): DefaultIndexesManager
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toEnsuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): DefaultIndexesManager
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toEnsuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toStringFormat[DefaultIndexesManager] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def list(): Future[List[NSIndex]]
Lists all the index on this database.
Lists all the index on this database.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB import reactivemongo.api.indexes.NSIndex def listIndexes(db: DefaultDB)( implicit ec: ExecutionContext): Future[List[String]] = db.indexesManager.list().map(_.flatMap { ni: NSIndex => ni.index.name.toList })
- Definition Classes
- AbstractIndexesManager → IndexesManager
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def onCollection(collectionName: String): Aux[Pack]
Returns a manager for the specified collection.
Returns a manager for the specified collection.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DefaultDB def countCollIndexes(db: DefaultDB, collName: String)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.onCollection(collName).list().map(_.size)
- collectionName
the collection name
- Definition Classes
- AbstractIndexesManager → IndexesManager
- val pack: Pack
- Definition Classes
- DefaultIndexesManager → AbstractIndexesManager
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.
- def →[B](y: B): (DefaultIndexesManager, B)
- Implicit
- This member is added by an implicit conversion from DefaultIndexesManager toArrowAssoc[DefaultIndexesManager] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.