Class

reactivemongo.api.indexes

DefaultIndexesManager

Related Doc: package indexes

Permalink

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

Linear Supertypes
AbstractIndexesManager, IndexesManager, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DefaultIndexesManager
  2. AbstractIndexesManager
  3. IndexesManager
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DefaultIndexesManager(db: DB with DBMetaCommands)(implicit ec: ExecutionContext)

    Permalink

    db

    the subject database

Type Members

  1. final type NSIndex = indexes.NSIndex { type Pack = DefaultIndexesManager.this.Pack }

    Permalink
    Definition Classes
    IndexesManager
  2. type Pack = bson.collection.BSONSerializationPack.type

    Permalink
    Definition Classes
    DefaultIndexesManagerIndexesManager

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to any2stringadd[DefaultIndexesManager] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (DefaultIndexesManager, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to ArrowAssoc[DefaultIndexesManager] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def create(nsIndex: NSIndex): Future[WriteResult]

    Permalink

    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
  9. def drop(collectionName: String, indexName: String): Future[Int]

    Permalink

    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
  10. def drop(nsIndex: NSIndex): Future[Int]

    Permalink

    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
  11. def dropAll(collectionName: String): Future[Int]

    Permalink

    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
  12. def ensure(nsIndex: NSIndex): Future[Boolean]

    Permalink

    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
  13. def ensuring(cond: (DefaultIndexesManager) ⇒ Boolean, msg: ⇒ Any): DefaultIndexesManager

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to Ensuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: (DefaultIndexesManager) ⇒ Boolean): DefaultIndexesManager

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to Ensuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean, msg: ⇒ Any): DefaultIndexesManager

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to Ensuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean): DefaultIndexesManager

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to Ensuring[DefaultIndexesManager] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  19. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to StringFormat[DefaultIndexesManager] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  21. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  22. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. def list(): Future[List[NSIndex]]

    Permalink

    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
  25. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. def onCollection(collectionName: String): Aux[Pack]

    Permalink

    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
  29. val pack: Pack

    Permalink
    Definition Classes
    DefaultIndexesManager → AbstractIndexesManager
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  31. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def [B](y: B): (DefaultIndexesManager, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to ArrowAssoc[DefaultIndexesManager] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AbstractIndexesManager

Inherited from IndexesManager

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from DefaultIndexesManager to any2stringadd[DefaultIndexesManager]

Inherited by implicit conversion StringFormat from DefaultIndexesManager to StringFormat[DefaultIndexesManager]

Inherited by implicit conversion Ensuring from DefaultIndexesManager to Ensuring[DefaultIndexesManager]

Inherited by implicit conversion ArrowAssoc from DefaultIndexesManager to ArrowAssoc[DefaultIndexesManager]

Ungrouped