Trait mongodb::db::ThreadedDatabase [] [src]

pub trait ThreadedDatabase {
    fn open(client: Client, name: &str, read_preference: Option<ReadPreference>, write_concern: Option<WriteConcern>) -> Database;
    fn auth(&self, user: &str, password: &str) -> Result<()>;
    fn collection(&self, coll_name: &str) -> Collection;
    fn collection_with_prefs(&self, coll_name: &str, create: bool, read_preference: Option<ReadPreference>, write_concern: Option<WriteConcern>) -> Collection;
    fn get_req_id(&self) -> i32;
    fn command_cursor(&self, spec: Document, cmd_type: CommandType, read_pref: ReadPreference) -> Result<Cursor>;
    fn command(&self, spec: Document, cmd_type: CommandType, read_preference: Option<ReadPreference>) -> Result<Document>;
    fn list_collections(&self, filter: Option<Document>) -> Result<Cursor>;
    fn list_collections_with_batch_size(&self, filter: Option<Document>, batch_size: i32) -> Result<Cursor>;
    fn collection_names(&self, filter: Option<Document>) -> Result<Vec<String>>;
    fn create_collection(&self, name: &str, options: Option<CreateCollectionOptions>) -> Result<()>;
    fn create_user(&self, name: &str, password: &str, options: Option<CreateUserOptions>) -> Result<()>;
    fn drop_all_users(&self, write_concern: Option<WriteConcern>) -> Result<i32>;
    fn drop_collection(&self, name: &str) -> Result<()>;
    fn drop_database(&self) -> Result<()>;
    fn drop_user(&self, name: &str, Option<WriteConcern>) -> Result<()>;
    fn get_all_users(&self, show_credentials: bool) -> Result<Vec<Document>>;
    fn get_user(&self, user: &str, options: Option<UserInfoOptions>) -> Result<Document>;
    fn get_users(&self, users: Vec<&str>, options: Option<UserInfoOptions>) -> Result<Vec<Document>>;
}

Required Methods

fn open(client: Client, name: &str, read_preference: Option<ReadPreference>, write_concern: Option<WriteConcern>) -> Database

Creates a database representation with optional read and write controls.

fn auth(&self, user: &str, password: &str) -> Result<()>

Logs in a user using the SCRAM-SHA-1 mechanism.

fn collection(&self, coll_name: &str) -> Collection

Creates a collection representation with inherited read and write controls.

fn collection_with_prefs(&self, coll_name: &str, create: bool, read_preference: Option<ReadPreference>, write_concern: Option<WriteConcern>) -> Collection

Creates a collection representation with custom read and write controls.

fn get_req_id(&self) -> i32

Return a unique operational request id.

fn command_cursor(&self, spec: Document, cmd_type: CommandType, read_pref: ReadPreference) -> Result<Cursor>

Generates a cursor for a relevant operational command.

fn command(&self, spec: Document, cmd_type: CommandType, read_preference: Option<ReadPreference>) -> Result<Document>

Sends an administrative command over find_one.

fn list_collections(&self, filter: Option<Document>) -> Result<Cursor>

Returns a list of collections within the database.

fn list_collections_with_batch_size(&self, filter: Option<Document>, batch_size: i32) -> Result<Cursor>

Returns a list of collections within the database with a custom batch size.

fn collection_names(&self, filter: Option<Document>) -> Result<Vec<String>>

Returns a list of collection names within the database.

fn create_collection(&self, name: &str, options: Option<CreateCollectionOptions>) -> Result<()>

Creates a new collection.

Note that due to the implicit creation of collections during insertion, this method should only be used to instantiate capped collections.

fn create_user(&self, name: &str, password: &str, options: Option<CreateUserOptions>) -> Result<()>

Creates a new user.

fn drop_all_users(&self, write_concern: Option<WriteConcern>) -> Result<i32>

Permanently deletes all users from the database.

fn drop_collection(&self, name: &str) -> Result<()>

Permanently deletes the collection from the database.

fn drop_database(&self) -> Result<()>

Permanently deletes the database from the server.

fn drop_user(&self, name: &str, Option<WriteConcern>) -> Result<()>

Permanently deletes the user from the database.

fn get_all_users(&self, show_credentials: bool) -> Result<Vec<Document>>

Retrieves information about all users in the database.

fn get_user(&self, user: &str, options: Option<UserInfoOptions>) -> Result<Document>

Retrieves information about a given user from the database.

fn get_users(&self, users: Vec<&str>, options: Option<UserInfoOptions>) -> Result<Vec<Document>>

Retrieves information about a given set of users from the database.

Implementors