#[non_exhaustive]pub struct CreateCollectionOptions {Show 18 fields
pub capped: Option<bool>,
pub size: Option<u64>,
pub max: Option<u64>,
pub storage_engine: Option<Document>,
pub validator: Option<Document>,
pub validation_level: Option<ValidationLevel>,
pub validation_action: Option<ValidationAction>,
pub view_on: Option<String>,
pub pipeline: Option<Vec<Document>>,
pub collation: Option<Collation>,
pub write_concern: Option<WriteConcern>,
pub index_option_defaults: Option<IndexOptionDefaults>,
pub timeseries: Option<TimeseriesOptions>,
pub expire_after_seconds: Option<Duration>,
pub change_stream_pre_and_post_images: Option<ChangeStreamPreAndPostImages>,
pub clustered_index: Option<ClusteredIndex>,
pub comment: Option<Bson>,
pub encrypted_fields: Option<Document>,
}
Expand description
These are the valid options for creating a collection with
Database::create_collection
.
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.capped: Option<bool>
Whether the collection should be capped. If true, size
must also be set.
size: Option<u64>
The maximum size (in bytes) for a capped collection. This option is ignored if capped
is
not set to true.
max: Option<u64>
The maximum number of documents in a capped collection. The size
limit takes precedence
over this option. If a capped collection reaches the size limit before it reaches the
maximum number of documents, MongoDB removes old documents.
storage_engine: Option<Document>
The storage engine that the collection should use. The value should take the following form:
{ <storage-engine-name>: <options> }
validator: Option<Document>
Specifies a validator to restrict the schema of documents which can exist in the
collection. Expressions can be specified using any query operators except $near
,
$nearSphere
, $text
, and $where
.
validation_level: Option<ValidationLevel>
Specifies how strictly the database should apply the validation rules to existing documents during an update.
validation_action: Option<ValidationAction>
Specifies whether the database should return an error or simply raise a warning if inserted documents do not pass the validation.
view_on: Option<String>
The name of the source collection or view to base this view on. If specified, this will cause a view to be created rather than a collection.
pipeline: Option<Vec<Document>>
An array that consists of the aggregation pipeline stages to run against view_on
to
determine the contents of the view.
collation: Option<Collation>
The default collation for the collection or view.
write_concern: Option<WriteConcern>
The write concern for the operation.
index_option_defaults: Option<IndexOptionDefaults>
The default configuration for indexes created on this collection, including the _id index.
timeseries: Option<TimeseriesOptions>
An object containing options for creating time series collections. See the create
command documentation for
supported options, and the Time Series Collections documentation for more information.
This feature is only available on server versions 5.0 and above.
expire_after_seconds: Option<Duration>
Used to automatically delete documents in time series collections. See the create
command documentation for more
information.
change_stream_pre_and_post_images: Option<ChangeStreamPreAndPostImages>
Options for supporting change stream pre- and post-images.
clustered_index: Option<ClusteredIndex>
Options for clustered collections. This option is only available on server versions 5.3+.
comment: Option<Bson>
Tags the query with an arbitrary Bson
value to help trace the operation through the
database profiler, currentOp and logs.
This option is only available on server versions 4.4+.
encrypted_fields: Option<Document>
in-use-encryption-unstable
only.Map of encrypted fields for the created collection.
Implementations§
Source§impl CreateCollectionOptions
impl CreateCollectionOptions
Sourcepub fn builder() -> CreateCollectionOptionsBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ())>
pub fn builder() -> CreateCollectionOptionsBuilder<((), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ())>
Create a builder for building CreateCollectionOptions
.
On the builder, call .capped(...)
(optional), .size(...)
(optional), .max(...)
(optional), .storage_engine(...)
(optional), .validator(...)
(optional), .validation_level(...)
(optional), .validation_action(...)
(optional), .view_on(...)
(optional), .pipeline(...)
(optional), .collation(...)
(optional), .write_concern(...)
(optional), .index_option_defaults(...)
(optional), .timeseries(...)
(optional), .expire_after_seconds(...)
(optional), .change_stream_pre_and_post_images(...)
(optional), .clustered_index(...)
(optional), .comment(...)
(optional), .encrypted_fields(...)
(optional) to set the values of the fields.
Finally, call .build()
to create the instance of CreateCollectionOptions
.
Trait Implementations§
Source§impl Clone for CreateCollectionOptions
impl Clone for CreateCollectionOptions
Source§fn clone(&self) -> CreateCollectionOptions
fn clone(&self) -> CreateCollectionOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CreateCollectionOptions
impl Debug for CreateCollectionOptions
Source§impl Default for CreateCollectionOptions
impl Default for CreateCollectionOptions
Source§fn default() -> CreateCollectionOptions
fn default() -> CreateCollectionOptions
Source§impl<'de> Deserialize<'de> for CreateCollectionOptions
impl<'de> Deserialize<'de> for CreateCollectionOptions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for CreateCollectionOptions
impl RefUnwindSafe for CreateCollectionOptions
impl Send for CreateCollectionOptions
impl Sync for CreateCollectionOptions
impl Unpin for CreateCollectionOptions
impl UnwindSafe for CreateCollectionOptions
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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> Pointable for T
impl<T> Pointable for T
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.