pub struct FindOneAndUpdate<'a, T>{ /* private fields */ }
Expand description
Atomically finds up to one document in the collection matching a filter and updates it.
Construct with Collection::find_one_and_update
.
Implementations§
Source§impl<'a, T> FindOneAndUpdate<'a, T>
impl<'a, T> FindOneAndUpdate<'a, T>
Sourcepub fn session(
self,
value: impl Into<&'a mut ClientSession>,
) -> FindOneAndUpdate<'a, T>
pub fn session( self, value: impl Into<&'a mut ClientSession>, ) -> FindOneAndUpdate<'a, T>
Use the provided session when running the operation.
Sourcepub fn with_options(
self,
value: impl Into<Option<FindOneAndUpdateOptions>>,
) -> FindOneAndUpdate<'a, T>
pub fn with_options( self, value: impl Into<Option<FindOneAndUpdateOptions>>, ) -> FindOneAndUpdate<'a, T>
Set all options. Note that this will replace all previous values set.
Sourcepub fn array_filters(
self,
value: impl IntoIterator<Item = Document>,
) -> FindOneAndUpdate<'a, T>
pub fn array_filters( self, value: impl IntoIterator<Item = Document>, ) -> FindOneAndUpdate<'a, T>
A set of filters specifying to which array elements an update should apply.
See the documentation here for more information on array filters.
Sourcepub fn bypass_document_validation(self, value: bool) -> FindOneAndUpdate<'a, T>
pub fn bypass_document_validation(self, value: bool) -> FindOneAndUpdate<'a, T>
Opt out of document-level validation.
Sourcepub fn max_time(self, value: Duration) -> FindOneAndUpdate<'a, T>
pub fn max_time(self, value: Duration) -> FindOneAndUpdate<'a, T>
The maximum amount of time to allow the query to run.
This options maps to the maxTimeMS
MongoDB query option, so the duration will be sent
across the wire as an integer number of milliseconds.
Sourcepub fn projection(self, value: Document) -> FindOneAndUpdate<'a, T>
pub fn projection(self, value: Document) -> FindOneAndUpdate<'a, T>
Limits the fields of the document being returned.
Sourcepub fn return_document(self, value: ReturnDocument) -> FindOneAndUpdate<'a, T>
pub fn return_document(self, value: ReturnDocument) -> FindOneAndUpdate<'a, T>
Whether the operation should return the document before or after modification.
Sourcepub fn sort(self, value: Document) -> FindOneAndUpdate<'a, T>
pub fn sort(self, value: Document) -> FindOneAndUpdate<'a, T>
The order of the documents for the purposes of the operation.
Sourcepub fn upsert(self, value: bool) -> FindOneAndUpdate<'a, T>
pub fn upsert(self, value: bool) -> FindOneAndUpdate<'a, T>
If true, insert a document if no matching document is found.
Sourcepub fn write_concern(self, value: WriteConcern) -> FindOneAndUpdate<'a, T>
pub fn write_concern(self, value: WriteConcern) -> FindOneAndUpdate<'a, T>
The level of the write concern
Sourcepub fn collation(self, value: Collation) -> FindOneAndUpdate<'a, T>
pub fn collation(self, value: Collation) -> FindOneAndUpdate<'a, T>
The collation to use for the operation.
See the documentation for more information on how to use this option.
Sourcepub fn hint(self, value: Hint) -> FindOneAndUpdate<'a, T>
pub fn hint(self, value: Hint) -> FindOneAndUpdate<'a, T>
The index to use for the operation. Only available in MongoDB 4.4+.
Sourcepub fn let_vars(self, value: Document) -> FindOneAndUpdate<'a, T>
pub fn let_vars(self, value: Document) -> FindOneAndUpdate<'a, T>
Map of parameter names and values. Values must be constant or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. “$$var”).
Only available in MongoDB 5.0+.
Trait Implementations§
Source§impl<'a, T> Action for FindOneAndUpdate<'a, T>
impl<'a, T> Action for FindOneAndUpdate<'a, T>
Source§impl<'a, T> IntoFuture for FindOneAndUpdate<'a, T>
impl<'a, T> IntoFuture for FindOneAndUpdate<'a, T>
Source§type IntoFuture = FindOneAndUpdateFuture<'a, T>
type IntoFuture = FindOneAndUpdateFuture<'a, T>
Source§fn into_future(self) -> <FindOneAndUpdate<'a, T> as IntoFuture>::IntoFuture
fn into_future(self) -> <FindOneAndUpdate<'a, T> as IntoFuture>::IntoFuture
Auto Trait Implementations§
impl<'a, T> Freeze for FindOneAndUpdate<'a, T>
impl<'a, T> !RefUnwindSafe for FindOneAndUpdate<'a, T>
impl<'a, T> Send for FindOneAndUpdate<'a, T>
impl<'a, T> Sync for FindOneAndUpdate<'a, T>
impl<'a, T> Unpin for FindOneAndUpdate<'a, T>
impl<'a, T> !UnwindSafe for FindOneAndUpdate<'a, T>
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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.