Struct mongodb::coll::Collection
[−]
[src]
pub struct Collection { pub db: Database, pub namespace: String, // some fields omitted }
Interfaces with a MongoDB collection.
Fields
db: Database
A reference to the database that spawned this collection.
namespace: String
The namespace of this collection, formatted as db_name.coll_name.
Methods
impl Collection
[src]
fn new(db: Database,
name: &str,
create: bool,
read_preference: Option<ReadPreference>,
write_concern: Option<WriteConcern>)
-> Collection
name: &str,
create: bool,
read_preference: Option<ReadPreference>,
write_concern: Option<WriteConcern>)
-> Collection
Creates a collection representation with optional read and write controls.
If create
is specified, the collection will be explicitly created in the database.
fn get_req_id(&self) -> i32
Returns a unique operational request id.
fn name(&self) -> String
Extracts the collection name from the namespace. If the namespace is invalid, this method will panic.
fn drop(&self) -> Result<()>
Permanently deletes the collection from the database.
fn aggregate(&self,
pipeline: Vec<Document>,
options: Option<AggregateOptions>)
-> Result<Cursor>
pipeline: Vec<Document>,
options: Option<AggregateOptions>)
-> Result<Cursor>
Runs an aggregation framework pipeline.
fn count(&self,
filter: Option<Document>,
options: Option<CountOptions>)
-> Result<i64>
filter: Option<Document>,
options: Option<CountOptions>)
-> Result<i64>
Gets the number of documents matching the filter.
fn distinct(&self,
field_name: &str,
filter: Option<Document>,
options: Option<DistinctOptions>)
-> Result<Vec<Bson>>
field_name: &str,
filter: Option<Document>,
options: Option<DistinctOptions>)
-> Result<Vec<Bson>>
Finds the distinct values for a specified field across a single collection.
fn find(&self,
filter: Option<Document>,
options: Option<FindOptions>)
-> Result<Cursor>
filter: Option<Document>,
options: Option<FindOptions>)
-> Result<Cursor>
Returns a list of documents within the collection that match the filter.
fn find_one(&self,
filter: Option<Document>,
options: Option<FindOptions>)
-> Result<Option<Document>>
filter: Option<Document>,
options: Option<FindOptions>)
-> Result<Option<Document>>
Returns the first document within the collection that matches the filter, or None.
fn find_one_with_command_type(&self,
filter: Option<Document>,
options: Option<FindOptions>,
cmd_type: CommandType)
-> Result<Option<Document>>
filter: Option<Document>,
options: Option<FindOptions>,
cmd_type: CommandType)
-> Result<Option<Document>>
fn find_one_and_delete(&self,
filter: Document,
options: Option<FindOneAndDeleteOptions>)
-> Result<Option<Document>>
filter: Document,
options: Option<FindOneAndDeleteOptions>)
-> Result<Option<Document>>
Finds a single document and deletes it, returning the original.
fn find_one_and_replace(&self,
filter: Document,
replacement: Document,
options: Option<FindOneAndUpdateOptions>)
-> Result<Option<Document>>
filter: Document,
replacement: Document,
options: Option<FindOneAndUpdateOptions>)
-> Result<Option<Document>>
Finds a single document and replaces it, returning either the original or replaced document.
fn find_one_and_update(&self,
filter: Document,
update: Document,
options: Option<FindOneAndUpdateOptions>)
-> Result<Option<Document>>
filter: Document,
update: Document,
options: Option<FindOneAndUpdateOptions>)
-> Result<Option<Document>>
Finds a single document and updates it, returning either the original or updated document.
fn get_ordered_batches(requests: VecDeque<WriteModel>) -> Vec<Batch>
fn bulk_write(&self,
requests: Vec<WriteModel>,
ordered: bool)
-> BulkWriteResult
requests: Vec<WriteModel>,
ordered: bool)
-> BulkWriteResult
Sends a batch of writes to the server at the same time.
fn insert_one(&self,
doc: Document,
write_concern: Option<WriteConcern>)
-> Result<InsertOneResult>
doc: Document,
write_concern: Option<WriteConcern>)
-> Result<InsertOneResult>
Inserts the provided document. If the document is missing an identifier, the driver should generate one.
fn insert_many(&self,
docs: Vec<Document>,
options: Option<InsertManyOptions>)
-> Result<InsertManyResult>
docs: Vec<Document>,
options: Option<InsertManyOptions>)
-> Result<InsertManyResult>
Inserts the provided documents. If any documents are missing an identifier, the driver should generate them.
fn delete_one(&self,
filter: Document,
write_concern: Option<WriteConcern>)
-> Result<DeleteResult>
filter: Document,
write_concern: Option<WriteConcern>)
-> Result<DeleteResult>
Deletes a single document.
fn delete_many(&self,
filter: Document,
write_concern: Option<WriteConcern>)
-> Result<DeleteResult>
filter: Document,
write_concern: Option<WriteConcern>)
-> Result<DeleteResult>
Deletes multiple documents.
fn replace_one(&self,
filter: Document,
replacement: Document,
options: Option<ReplaceOptions>)
-> Result<UpdateResult>
filter: Document,
replacement: Document,
options: Option<ReplaceOptions>)
-> Result<UpdateResult>
Replaces a single document.
fn update_one(&self,
filter: Document,
update: Document,
options: Option<UpdateOptions>)
-> Result<UpdateResult>
filter: Document,
update: Document,
options: Option<UpdateOptions>)
-> Result<UpdateResult>
Updates a single document.
fn update_many(&self,
filter: Document,
update: Document,
options: Option<UpdateOptions>)
-> Result<UpdateResult>
filter: Document,
update: Document,
options: Option<UpdateOptions>)
-> Result<UpdateResult>
Updates multiple documents.
fn create_index(&self,
keys: Document,
options: Option<IndexOptions>)
-> Result<String>
keys: Document,
options: Option<IndexOptions>)
-> Result<String>
Create a single index.
fn create_index_model(&self, model: IndexModel) -> Result<String>
Create a single index with an IndexModel.
fn create_indexes(&self, models: Vec<IndexModel>) -> Result<Vec<String>>
Create multiple indexes.
fn drop_index(&self,
keys: Document,
options: Option<IndexOptions>)
-> Result<()>
keys: Document,
options: Option<IndexOptions>)
-> Result<()>
Drop an index.
fn drop_index_string(&self, name: String) -> Result<()>
Drop an index by name.
fn drop_index_model(&self, model: IndexModel) -> Result<()>
Drop an index by IndexModel.
fn drop_indexes(&self) -> Result<()>
Drop all indexes in the collection.
fn list_indexes(&self) -> Result<Cursor>
List all indexes in the collection.