Trait

reactivemongo.api.collections.ChangeStreamOps

WatchBuilder

Related Doc: package ChangeStreamOps

Permalink

sealed trait WatchBuilder[T] extends AnyRef

A builder for the watch collection helper, which allows to consume the collection's ChangeStream.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WatchBuilder
  2. AnyRef
  3. 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

Abstract Value Members

  1. abstract val context: GenericCollection.AggregatorContext[T]

    Permalink
    Attributes
    protected

Concrete 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 GenericCollection.WatchBuilder[T] to any2stringadd[GenericCollection.WatchBuilder[T]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (GenericCollection.WatchBuilder[T], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to ArrowAssoc[GenericCollection.WatchBuilder[T]] 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 cursor[AC[_] <: WithOps[_]](implicit cp: Aux[T, AC]): AC[T]

    Permalink

    Creates a cursor for the changeStream of this collection, as configured by the builder.

    Creates a cursor for the changeStream of this collection, as configured by the builder. The resulting cursor implicitly has a tailable and awaitData behavior and requires some special handling:

    1. The cursor will never be exhausted, unless the change stream is invalidated (see https://docs.mongodb.com/manual/reference/change-events/#invalidate-event). Therefore, you need to ensure that either: - you consume a bounded number of events from the stream (such as when using collect, foldWhile, etc.) - you close the cursor explicitly when you no longer need it (the cursor provider needs to support such a functionality) - you only start a finite number of unbounded cursors which follow the lifecycle of your whole application (for example they will be shut down along with the driver when the app goes down). In particular, using fold with the default unbounded maxSize will yield a Future which will never resolve.

    2. The cursor may yield no results within any given finite time bounds, if there are no changes in the underlying collection. Therefore, the Futures resulting from the cursor operations may never resolve. Unless you are in a fully reactive scenario, you may want to add some timeout behavior to the resulting Future. In that case, remember to explicitly close the cursor when the timeout triggers, so that you don't leak the cursor (the cursor provider needs to support such a functionality).

    3. New change streams return no data when the cursor is initially established (only subsequent GetMore commands will actually return the subsequent events). Therefore, such a cursor head will always be empty. Only folding the cursor (directly or through a higher-level cursor provider) will provide the next change event.

    4. Resumed change streams (via id or operation time) will return the next event when the cursor is initially established, if there is is some next event. Therefore, head is guaranteed to eventually return the next change event beyond the resume point, when such an event appears.

  9. def ensuring(cond: (GenericCollection.WatchBuilder[T]) ⇒ Boolean, msg: ⇒ Any): GenericCollection.WatchBuilder[T]

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  23. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def [B](y: B): (GenericCollection.WatchBuilder[T], B)

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

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from GenericCollection.WatchBuilder[T] to any2stringadd[GenericCollection.WatchBuilder[T]]

Inherited by implicit conversion StringFormat from GenericCollection.WatchBuilder[T] to StringFormat[GenericCollection.WatchBuilder[T]]

Inherited by implicit conversion Ensuring from GenericCollection.WatchBuilder[T] to Ensuring[GenericCollection.WatchBuilder[T]]

Inherited by implicit conversion ArrowAssoc from GenericCollection.WatchBuilder[T] to ArrowAssoc[GenericCollection.WatchBuilder[T]]

Ungrouped