[−][src]Struct mongodb::sync::Client
feature="sync"
only.This is the main entry point for the synchronous API. A Client
is used to connect to a MongoDB
cluster. By default, it will monitor the topology of the cluster, keeping track of any changes,
such as servers being added or removed.
Client
is a wrapper around the asynchronous mongodb::Client
, and it
starts up an async-std runtime internally to run that wrapped client on.
Client
uses std::sync::Arc
internally,
so it can safely be shared across threads. For example:
let client = Client::with_uri_str("mongodb://example.com")?; for i in 0..5 { let client_ref = client.clone(); std::thread::spawn(move || { let collection = client_ref.database("items").collection(&format!("coll{}", i)); // Do something with the collection }); }
Implementations
impl Client
[src]
pub fn with_uri_str(uri: &str) -> Result<Self>
[src]
feature="sync"
only.Creates a new Client
connected to the cluster specified by uri
. uri
must be a valid
MongoDB connection string.
See the documentation on
ClientOptions::parse
for more
details.
pub fn with_options(options: ClientOptions) -> Result<Self>
[src]
feature="sync"
only.Creates a new Client
connected to the cluster specified by options
.
pub fn selection_criteria(&self) -> Option<&SelectionCriteria>
[src]
feature="sync"
only.Gets the default selection criteria the Client
uses for operations..
pub fn read_concern(&self) -> Option<&ReadConcern>
[src]
feature="sync"
only.Gets the default read concern the Client
uses for operations.
pub fn write_concern(&self) -> Option<&WriteConcern>
[src]
feature="sync"
only.Gets the default write concern the Client
uses for operations.
pub fn database(&self, name: &str) -> Database
[src]
feature="sync"
only.Gets a handle to a database specified by name
in the cluster the Client
is connected to.
The Database
options (e.g. read preference and write concern) will default to those of the
Client
.
This method does not send or receive anything across the wire to the database, so it can be used repeatedly without incurring any costs from I/O.
pub fn database_with_options(
&self,
name: &str,
options: DatabaseOptions
) -> Database
[src]
&self,
name: &str,
options: DatabaseOptions
) -> Database
feature="sync"
only.Gets a handle to a database specified by name
in the cluster the Client
is connected to.
Operations done with this Database
will use the options specified by options
by default
and will otherwise default to those of the Client
.
This method does not send or receive anything across the wire to the database, so it can be used repeatedly without incurring any costs from I/O.
pub fn list_databases(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>
) -> Result<Vec<Document>>
[src]
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>
) -> Result<Vec<Document>>
feature="sync"
only.Gets information about each database present in the cluster the Client is connected to.
pub fn list_database_names(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>
) -> Result<Vec<String>>
[src]
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>
) -> Result<Vec<String>>
feature="sync"
only.Gets the names of the databases present in the cluster the Client is connected to.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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>,