reactivemongo.api.indexes

DefaultIndexesManager

final class DefaultIndexesManager extends IndexesManager

A helper class to manage the indexes on a Mongo 3.x database.

Linear Supertypes
IndexesManager, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DefaultIndexesManager
  2. IndexesManager
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

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

    db

    the subject database

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

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

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

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. 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])(
      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
    DefaultIndexesManagerIndexesManager
  11. 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
    DefaultIndexesManagerIndexesManager
  12. 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)(
      implicit ec: ExecutionContext): Future[Int] =
      db.indexesManager.drop(idx)
    returns

    The number of indexes that were dropped.

    Definition Classes
    IndexesManager
  13. 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
    DefaultIndexesManagerIndexesManager
  14. 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])(
      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
    DefaultIndexesManagerIndexesManager
  15. def ensuring(cond: (DefaultIndexesManager) ⇒ Boolean, msg: ⇒ Any): DefaultIndexesManager

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    Any
  26. 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
    DefaultIndexesManagerIndexesManager
  27. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. final def notify(): Unit

    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  30. def onCollection(collectionName: String): CollectionIndexesManager

    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
    DefaultIndexesManagerIndexesManager
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  32. def toString(): String

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

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

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

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

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

Shadowed Implicit Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (defaultIndexesManager: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (defaultIndexesManager: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def x: DefaultIndexesManager

    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to ArrowAssoc[DefaultIndexesManager] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (defaultIndexesManager: ArrowAssoc[DefaultIndexesManager]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: DefaultIndexesManager

    Implicit information
    This member is added by an implicit conversion from DefaultIndexesManager to Ensuring[DefaultIndexesManager] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (defaultIndexesManager: Ensuring[DefaultIndexesManager]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from IndexesManager

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from DefaultIndexesManager to StringAdd

Inherited by implicit conversion any2stringfmt from DefaultIndexesManager to StringFormat

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

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

Ungrouped