Struct qm_mongodb::options::ChangeStreamOptions
source · #[non_exhaustive]pub struct ChangeStreamOptions {
pub full_document: Option<FullDocumentType>,
pub full_document_before_change: Option<FullDocumentBeforeChangeType>,
pub resume_after: Option<ResumeToken>,
pub start_at_operation_time: Option<Timestamp>,
pub start_after: Option<ResumeToken>,
pub max_await_time: Option<Duration>,
pub batch_size: Option<u32>,
pub collation: Option<Collation>,
pub read_concern: Option<ReadConcern>,
pub selection_criteria: Option<SelectionCriteria>,
pub comment: Option<Bson>,
/* private fields */
}Expand description
These are the valid options that can be passed to the watch method for creating a
ChangeStream.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.full_document: Option<FullDocumentType>Configures how the
ChangeStreamEvent::full_document
field will be populated. By default, the field will be empty for updates.
full_document_before_change: Option<FullDocumentBeforeChangeType>Configures how the
ChangeStreamEvent::full_document_before_change field will be
populated. By default, the field will be empty for updates.
resume_after: Option<ResumeToken>Specifies the logical starting point for the new change stream. Note that if a watched
collection is dropped and recreated or newly renamed, start_after should be set instead.
resume_after and start_after cannot be set simultaneously.
For more information on resuming a change stream see the documentation here
start_at_operation_time: Option<Timestamp>The change stream will only provide changes that occurred at or after the specified timestamp. Any command run against the server will return an operation time that can be used here.
start_after: Option<ResumeToken>Takes a resume token and starts a new change stream returning the first notification after the token. This will allow users to watch collections that have been dropped and recreated or newly renamed collections without missing any notifications.
This feature is only available on MongoDB 4.2+.
See the documentation here for more information.
max_await_time: Option<Duration>The maximum amount of time for the server to wait on new documents to satisfy a change stream query.
batch_size: Option<u32>The number of documents to return per batch.
collation: Option<Collation>Specifies a collation.
read_concern: Option<ReadConcern>The read concern to use for the operation.
If none is specified, the read concern defined on the object executing this operation will be used.
selection_criteria: Option<SelectionCriteria>The criteria used to select a server for this operation.
If none is specified, the selection criteria defined on the object executing this operation will be used.
comment: Option<Bson>Tags the query with an arbitrary Bson value to help trace the operation through the
database profiler, currentOp and logs.
The comment can be any Bson value on server versions 4.4+. On lower server versions,
the comment must be a Bson::String value.
Implementations§
source§impl ChangeStreamOptions
impl ChangeStreamOptions
sourcepub fn builder(
) -> ChangeStreamOptionsBuilder<((), (), (), (), (), (), (), (), (), (), ())>
pub fn builder( ) -> ChangeStreamOptionsBuilder<((), (), (), (), (), (), (), (), (), (), ())>
Create a builder for building ChangeStreamOptions.
On the builder, call .full_document(...)(optional), .full_document_before_change(...)(optional), .resume_after(...)(optional), .start_at_operation_time(...)(optional), .start_after(...)(optional), .max_await_time(...)(optional), .batch_size(...)(optional), .collation(...)(optional), .read_concern(...)(optional), .selection_criteria(...)(optional), .comment(...)(optional) to set the values of the fields.
Finally, call .build() to create the instance of ChangeStreamOptions.
Trait Implementations§
source§impl Clone for ChangeStreamOptions
impl Clone for ChangeStreamOptions
source§fn clone(&self) -> ChangeStreamOptions
fn clone(&self) -> ChangeStreamOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ChangeStreamOptions
impl Debug for ChangeStreamOptions
source§impl Default for ChangeStreamOptions
impl Default for ChangeStreamOptions
source§fn default() -> ChangeStreamOptions
fn default() -> ChangeStreamOptions
source§impl<'de> Deserialize<'de> for ChangeStreamOptions
impl<'de> Deserialize<'de> for ChangeStreamOptions
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<ChangeStreamOptions, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ChangeStreamOptions, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl Serialize for ChangeStreamOptions
impl Serialize for ChangeStreamOptions
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for ChangeStreamOptions
impl !RefUnwindSafe for ChangeStreamOptions
impl Send for ChangeStreamOptions
impl Sync for ChangeStreamOptions
impl Unpin for ChangeStreamOptions
impl !UnwindSafe for ChangeStreamOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.