sealed trait IndexesManager extends AnyRef
Indexes manager at database level.
- Alphabetic
- By Inheritance
- IndexesManager
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
- final type NSIndex = indexes.NSIndex { type Pack = IndexesManager.this.Pack }
- abstract type Pack <: SerializationPack
Abstract Value Members
-
abstract
def
create(nsIndex: NSIndex): Future[WriteResult]
Creates the given index.
Creates the given index.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DB import reactivemongo.api.indexes.NSIndex def createIndexes( db: DB, 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
-
abstract
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.DB def dropIndex(db: DB, 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.
-
abstract
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.DB def dropAllIndexes(db: DB)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.dropAll("myColl")
- collectionName
the collection name
- returns
The number of indexes that were dropped.
-
abstract
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.DB import reactivemongo.api.indexes.NSIndex def ensureIndexes( db: DB, 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.
-
abstract
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.DB import reactivemongo.api.indexes.NSIndex def listIndexes(db: DB)( implicit ec: ExecutionContext): Future[List[String]] = db.indexesManager.list().map(_.flatMap { ni: NSIndex => ni.index.name.toList })
-
abstract
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.DB def countCollIndexes(db: DB, collName: String)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.onCollection(collName).list().map(_.size)
- collectionName
the collection name
Concrete 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 IndexesManager to any2stringadd[IndexesManager] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (IndexesManager, B)
- Implicit
- This member is added by an implicit conversion from IndexesManager to ArrowAssoc[IndexesManager] 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( ... ) @native()
-
def
drop(nsIndex: NSIndex): Future[Int]
Drops the specified index.
Drops the specified index.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.DB import reactivemongo.api.indexes.NSIndex def dropIndex(db: DB, idx: NSIndex.Default)( implicit ec: ExecutionContext): Future[Int] = db.indexesManager.drop(idx)
- returns
The number of indexes that were dropped.
-
def
ensuring(cond: (IndexesManager) ⇒ Boolean, msg: ⇒ Any): IndexesManager
- Implicit
- This member is added by an implicit conversion from IndexesManager to Ensuring[IndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (IndexesManager) ⇒ Boolean): IndexesManager
- Implicit
- This member is added by an implicit conversion from IndexesManager to Ensuring[IndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): IndexesManager
- Implicit
- This member is added by an implicit conversion from IndexesManager to Ensuring[IndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): IndexesManager
- Implicit
- This member is added by an implicit conversion from IndexesManager to Ensuring[IndexesManager] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from IndexesManager to StringFormat[IndexesManager] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
→[B](y: B): (IndexesManager, B)
- Implicit
- This member is added by an implicit conversion from IndexesManager to ArrowAssoc[IndexesManager] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc