trait Cursor[T] extends CursorCompatAPI[T]
Cursor over results from MongoDB.
- T
the type parsed from each result document
- Alphabetic
- By Inheritance
- Cursor
- CursorCompatAPI
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def collect[M[_]](maxDocs: Int, err: ErrorHandler[M[T]])(implicit cbf: Factory[T, M[T]], ec: ExecutionContext): Future[M[T]]
Collects all the documents into a collection of type
M[T]
.Collects all the documents into a collection of type
M[T]
.- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited).
- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.val cursor = collection.find(query, filter).cursor[BSONDocument]() // return the 3 first documents in a Vector[BSONDocument]. val vector = cursor.collect[Vector](3, Cursor.FailOnError[Vector[BSONDocument]]())
- Definition Classes
- CursorCompatAPI
- abstract def foldBulks[A](z: => A, maxDocs: Int = -1)(suc: (A, Iterator[T]) => State[A], err: ErrorHandler[A] = FailOnError[A]())(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all bulks of documents retrieved by this cursor, going first to last.
Applies a binary operator to a start value and all bulks of documents retrieved by this cursor, going first to last.
- A
the result type of the binary operator
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited). The actual document count can exceed this, when this maximum devided by the batch size given a non-zero remainder.
- suc
The binary operator to be applied when the next response is successfully read.
- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.
- abstract def foldBulksM[A](z: => A, maxDocs: Int = -1)(suc: (A, Iterator[T]) => Future[State[A]], err: ErrorHandler[A] = FailOnError[A]())(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all bulks of documents retrieved by this cursor, going first to last.
Applies a binary operator to a start value and all bulks of documents retrieved by this cursor, going first to last.
- A
the result type of the binary operator
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited). The actual document count can exceed this, when this maximum devided by the batch size given a non-zero remainder.
- suc
The binary operator to be applied when the next response is successfully read. This must be safe, and any error must be returned as
Future.failed[State[A]]
.- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.
- abstract def foldResponses[A](z: => A, maxDocs: Int = -1)(suc: (A, Response) => State[A], err: ErrorHandler[A] = FailOnError[A]())(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all responses handled by this cursor, going first to last.
Applies a binary operator to a start value and all responses handled by this cursor, going first to last.
- A
the result type of the binary operator
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited). The actual document count can exceed this, when this maximum devided by the batch size given a non-zero remainder.
- suc
The binary operator to be applied when the next response is successfully read.
- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.
- abstract def foldResponsesM[A](z: => A, maxDocs: Int = -1)(suc: (A, Response) => Future[State[A]], err: ErrorHandler[A] = FailOnError[A]())(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all responses handled by this cursor, going first to last.
Applies a binary operator to a start value and all responses handled by this cursor, going first to last.
- A
the result type of the binary operator
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited). The actual document count can exceed this, when this maximum devided by the batch size given a non-zero remainder.
- suc
The binary operator to be applied when the next response is successfully read. This must be safe, and any error must be returned as
Future.failed[State[A]]
.- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.
- abstract def foldWhile[A](z: => A, maxDocs: Int = -1)(suc: (A, T) => State[A], err: ErrorHandler[A] = FailOnError[A]())(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all elements retrieved by this cursor, going first to last.
Applies a binary operator to a start value and all elements retrieved by this cursor, going first to last.
- A
the result type of the binary operator
cursor.foldWhile(Nil: Seq[Person])((s, p) => Cursor.Cont(s :+ p), { (l, e) => println("last valid value: " + l); Cursor.Fail(e) })
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited).
- suc
The binary operator to be applied when the next document is successfully read.
- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.
- abstract def foldWhileM[A](z: => A, maxDocs: Int = -1)(suc: (A, T) => Future[State[A]], err: ErrorHandler[A] = FailOnError[A]())(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all elements retrieved by this cursor, going first to last.
Applies a binary operator to a start value and all elements retrieved by this cursor, going first to last.
- A
the result type of the binary operator
cursor.foldWhileM(Nil: Seq[Person])( (s, p) => Future.successful(Cursor.Cont(s :+ p)), { (l, e) => Future { println("last valid value: " + l) Cursor.Fail(e) })
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited).
- suc
The binary operator to be applied when the next document is successfully read. This must be safe, and any error must be returned as
Future.failed[State[A]]
.- err
The binary operator to be applied when failing to get the next response. Exception or Fail raised within the
suc
function cannot be recovered by this error handler.
- abstract def head(implicit ec: ExecutionContext): Future[T]
Returns the first document matching the query, or fails with Cursor.NoSuchResultException if none.
Returns the first document matching the query, or fails with Cursor.NoSuchResultException if none.
val cursor = collection.find(query, filter).cursor[BSONDocument] // return option of the first element. val first: Future[BSONDocument] = cursor.head
- abstract def headOption(implicit ec: ExecutionContext): Future[Option[T]]
Returns the first document matching the query, if any.
Returns the first document matching the query, if any.
val cursor = collection.find(query, filter).cursor[BSONDocument] // return option of the first element. val maybeFirst: Future[Option[BSONDocument]] = cursor.headOption
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Cursor[T], B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (Cursor[T]) => Boolean, msg: => Any): Cursor[T]
- def ensuring(cond: (Cursor[T]) => Boolean): Cursor[T]
- def ensuring(cond: Boolean, msg: => Any): Cursor[T]
- def ensuring(cond: Boolean): Cursor[T]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def fold[A](z: => A, maxDocs: Int = -1)(suc: (A, T) => A)(implicit ec: ExecutionContext): Future[A]
Applies a binary operator to a start value and all elements retrieved by this cursor, going first to last.
Applies a binary operator to a start value and all elements retrieved by this cursor, going first to last.
- A
the result type of the binary operator
cursor.foldWhile(Nil: Seq[Person])((s, p) => Cursor.Cont(s :+ p), { (l, e) => println("last valid value: " + l); Cursor.Fail(e) })
- z
the initial value
- maxDocs
the maximum number of documents to be retrieved (-1 for unlimited).
- suc
The binary operator to be applied when the next document is successfully read.
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- 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(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 →[B](y: B): (Cursor[T], B)
- Implicit
- This member is added by an implicit conversion from Cursor[T] toArrowAssoc[Cursor[T]] 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.