sealed trait WatchBuilder[T] extends AnyRef
A builder for the watch
collection helper,
which allows to consume the collection's ChangeStream.
- Alphabetic
- By Inheritance
- WatchBuilder
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract val context: GenericCollection.AggregatorContext[T]
- Attributes
- protected
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 GenericCollection.WatchBuilder[T] toany2stringadd[GenericCollection.WatchBuilder[T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (GenericCollection.WatchBuilder[T], B)
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toArrowAssoc[GenericCollection.WatchBuilder[T]] 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(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def cursor[AC[_] <: WithOps[_]](implicit cp: Aux[T, AC]): AC[T]
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
andawaitData
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, usingfold
with the default unboundedmaxSize
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. - def ensuring(cond: (GenericCollection.WatchBuilder[T]) => Boolean, msg: => Any): GenericCollection.WatchBuilder[T]
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toEnsuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (GenericCollection.WatchBuilder[T]) => Boolean): GenericCollection.WatchBuilder[T]
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toEnsuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): GenericCollection.WatchBuilder[T]
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toEnsuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): GenericCollection.WatchBuilder[T]
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toEnsuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toStringFormat[GenericCollection.WatchBuilder[T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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 finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.
- def →[B](y: B): (GenericCollection.WatchBuilder[T], B)
- Implicit
- This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] toArrowAssoc[GenericCollection.WatchBuilder[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.