[−][src]Struct mongodb::sync::Collection
feature="sync"
only.Collection
is the client-side abstraction of a MongoDB Collection. It can be used to
perform collection-level operations such as CRUD operations. A Collection
can be obtained
through a Database
by calling either
Database::collection
or
Database::collection_with_options
.
Collection
uses std::sync::Arc
internally,
so it can safely be shared across threads. For example:
let coll = client.database("items").collection("in_stock"); for i in 0..5 { let coll_ref = coll.clone(); std::thread::spawn(move || { // Perform operations with `coll_ref`. For example: coll_ref.insert_one(doc! { "x": i }, None); }); }
Implementations
impl Collection
[src]
pub fn name(&self) -> &str
[src]
feature="sync"
only.Gets the name of the Collection
.
pub fn namespace(&self) -> Namespace
[src]
feature="sync"
only.Gets the namespace of the Collection
.
The namespace of a MongoDB collection is the concatenation of the name of the database containing it, the '.' character, and the name of the collection itself. For example, if a collection named "bar" is created in a database named "foo", the namespace of the collection is "foo.bar".
pub fn selection_criteria(&self) -> Option<&SelectionCriteria>
[src]
feature="sync"
only.Gets the selection criteria of the Collection
.
pub fn read_concern(&self) -> Option<&ReadConcern>
[src]
feature="sync"
only.Gets the read concern of the Collection
.
pub fn write_concern(&self) -> Option<&WriteConcern>
[src]
feature="sync"
only.Gets the write concern of the Collection
.
pub fn drop(
&self,
options: impl Into<Option<DropCollectionOptions>>
) -> Result<()>
[src]
&self,
options: impl Into<Option<DropCollectionOptions>>
) -> Result<()>
feature="sync"
only.Drops the collection, deleting all data, users, and indexes stored in it.
pub fn aggregate(
&self,
pipeline: impl IntoIterator<Item = Document>,
options: impl Into<Option<AggregateOptions>>
) -> Result<Cursor>
[src]
&self,
pipeline: impl IntoIterator<Item = Document>,
options: impl Into<Option<AggregateOptions>>
) -> Result<Cursor>
feature="sync"
only.Runs an aggregation operation.
See the documentation here for more information on aggregations.
pub fn estimated_document_count(
&self,
options: impl Into<Option<EstimatedDocumentCountOptions>>
) -> Result<i64>
[src]
&self,
options: impl Into<Option<EstimatedDocumentCountOptions>>
) -> Result<i64>
feature="sync"
only.Estimates the number of documents in the collection using collection metadata.
pub fn count_documents(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<CountOptions>>
) -> Result<i64>
[src]
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<CountOptions>>
) -> Result<i64>
feature="sync"
only.Gets the number of documents matching filter
.
Note that using Collection::estimated_document_count
is recommended instead of this method is most cases.
pub fn delete_many(
&self,
query: Document,
options: impl Into<Option<DeleteOptions>>
) -> Result<DeleteResult>
[src]
&self,
query: Document,
options: impl Into<Option<DeleteOptions>>
) -> Result<DeleteResult>
feature="sync"
only.Deletes all documents stored in the collection matching query
.
pub fn delete_one(
&self,
query: Document,
options: impl Into<Option<DeleteOptions>>
) -> Result<DeleteResult>
[src]
&self,
query: Document,
options: impl Into<Option<DeleteOptions>>
) -> Result<DeleteResult>
feature="sync"
only.Deletes up to one document found matching query
.
pub fn distinct(
&self,
field_name: &str,
filter: impl Into<Option<Document>>,
options: impl Into<Option<DistinctOptions>>
) -> Result<Vec<Bson>>
[src]
&self,
field_name: &str,
filter: impl Into<Option<Document>>,
options: impl Into<Option<DistinctOptions>>
) -> Result<Vec<Bson>>
feature="sync"
only.Finds the distinct values of the field specified by field_name
across the collection.
pub fn find(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<FindOptions>>
) -> Result<Cursor>
[src]
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<FindOptions>>
) -> Result<Cursor>
feature="sync"
only.Finds the documents in the collection matching filter
.
pub fn find_one(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<FindOneOptions>>
) -> Result<Option<Document>>
[src]
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<FindOneOptions>>
) -> Result<Option<Document>>
feature="sync"
only.Finds a single document in the collection matching filter
.
pub fn find_one_and_delete(
&self,
filter: Document,
options: impl Into<Option<FindOneAndDeleteOptions>>
) -> Result<Option<Document>>
[src]
&self,
filter: Document,
options: impl Into<Option<FindOneAndDeleteOptions>>
) -> Result<Option<Document>>
feature="sync"
only.Atomically finds up to one document in the collection matching filter
and deletes it.
pub fn find_one_and_replace(
&self,
filter: Document,
replacement: Document,
options: impl Into<Option<FindOneAndReplaceOptions>>
) -> Result<Option<Document>>
[src]
&self,
filter: Document,
replacement: Document,
options: impl Into<Option<FindOneAndReplaceOptions>>
) -> Result<Option<Document>>
feature="sync"
only.Atomically finds up to one document in the collection matching filter
and replaces it with
replacement
.
pub fn find_one_and_update(
&self,
filter: Document,
update: impl Into<UpdateModifications>,
options: impl Into<Option<FindOneAndUpdateOptions>>
) -> Result<Option<Document>>
[src]
&self,
filter: Document,
update: impl Into<UpdateModifications>,
options: impl Into<Option<FindOneAndUpdateOptions>>
) -> Result<Option<Document>>
feature="sync"
only.Atomically finds up to one document in the collection matching filter
and updates it.
Both Document
and Vec<Document>
implement Into<UpdateModifications>
, so either can be
passed in place of constructing the enum case. Note: pipeline updates are only supported
in MongoDB 4.2+.
pub fn insert_many(
&self,
docs: impl IntoIterator<Item = Document>,
options: impl Into<Option<InsertManyOptions>>
) -> Result<InsertManyResult>
[src]
&self,
docs: impl IntoIterator<Item = Document>,
options: impl Into<Option<InsertManyOptions>>
) -> Result<InsertManyResult>
feature="sync"
only.Inserts the documents in docs
into the collection.
pub fn insert_one(
&self,
doc: Document,
options: impl Into<Option<InsertOneOptions>>
) -> Result<InsertOneResult>
[src]
&self,
doc: Document,
options: impl Into<Option<InsertOneOptions>>
) -> Result<InsertOneResult>
feature="sync"
only.Inserts doc
into the collection.
pub fn replace_one(
&self,
query: Document,
replacement: Document,
options: impl Into<Option<ReplaceOptions>>
) -> Result<UpdateResult>
[src]
&self,
query: Document,
replacement: Document,
options: impl Into<Option<ReplaceOptions>>
) -> Result<UpdateResult>
feature="sync"
only.Replaces up to one document matching query
in the collection with replacement
.
pub fn update_many(
&self,
query: Document,
update: impl Into<UpdateModifications>,
options: impl Into<Option<UpdateOptions>>
) -> Result<UpdateResult>
[src]
&self,
query: Document,
update: impl Into<UpdateModifications>,
options: impl Into<Option<UpdateOptions>>
) -> Result<UpdateResult>
feature="sync"
only.Updates all documents matching query
in the collection.
Both Document
and Vec<Document>
implement Into<UpdateModifications>
, so either can be
passed in place of constructing the enum case. Note: pipeline updates are only supported
in MongoDB 4.2+. See the official MongoDB
documentation for more information on specifying updates.
pub fn update_one(
&self,
query: Document,
update: impl Into<UpdateModifications>,
options: impl Into<Option<UpdateOptions>>
) -> Result<UpdateResult>
[src]
&self,
query: Document,
update: impl Into<UpdateModifications>,
options: impl Into<Option<UpdateOptions>>
) -> Result<UpdateResult>
feature="sync"
only.Updates up to one document matching query
in the collection.
Both Document
and Vec<Document>
implement Into<UpdateModifications>
, so either can be
passed in place of constructing the enum case. Note: pipeline updates are only supported
in MongoDB 4.2+. See the official MongoDB
documentation for more information on specifying updates.
Trait Implementations
impl Clone for Collection
[src]
fn clone(&self) -> Collection
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for Collection
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Collection
impl Send for Collection
impl Sync for Collection
impl Unpin for Collection
impl !UnwindSafe for Collection
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,