MongoDB C++ Driver  mongocxx-3.1.3
Public Member Functions | List of all members
mongocxx::client Class Reference

Class representing a client connection to MongoDB. More...

#include <client.hpp>

Public Member Functions

 client () noexcept
 Default constructs a new client. More...
 
 client (const class uri &mongodb_uri, const options::client &options=options::client())
 Creates a new client connection to MongoDB. More...
 
 client (client &&) noexcept
 Move constructs a client.
 
clientoperator= (client &&) noexcept
 Move assigns a client.
 
 ~client ()
 Destroys a client.
 
 operator bool () const noexcept
 Returns true if the client is valid, meaning it was not default constructed or moved from.
 
void read_concern (class read_concern rc)
 Sets the read concern for this client. More...
 
class read_concern read_concern () const
 Returns the current read concern for this client. More...
 
void read_preference (class read_preference rp)
 Sets the read preference for this client. More...
 
class read_preference read_preference () const
 Returns the current read preference for this client. More...
 
class uri uri () const
 Returns the current uri for this client. More...
 
void write_concern (class write_concern wc)
 Sets the write concern for this client. More...
 
class write_concern write_concern () const
 Returns the current write concern for this client. More...
 
class database database (bsoncxx::string::view_or_value name) const &
 Obtains a database that represents a logical grouping of collections on a MongoDB server. More...
 
class database operator[] (bsoncxx::string::view_or_value name) const &
 Allows the syntax client["db_name"] as a convenient shorthand for the client::database() method by implementing the array subscript operator. More...
 
cursor list_databases () const
 Enumerates the databases in the client. More...
 

Detailed Description

Class representing a client connection to MongoDB.

Acts as a logical gateway for working with databases contained within a MongoDB server.

Databases that are created via this client inherit the read_concern, read_preference, and write_concern settings of this client when they are created. The lifetimes of objects created via a client object (databases, collections, cursors, etc...) must be a subset of the lifetime of the client that created them.

Example:

mongocxx::client mongo_client;
mongocxx::client mongo_client("mongodb://localhost:27017");

Constructor & Destructor Documentation

◆ client() [1/2]

mongocxx::client::client ( )
noexcept

Default constructs a new client.

The client is not connected and is equivalent to the state of a moved-from client. The only valid actions to take with a default constructed 'client' are to assign to it, or destroy it.

◆ client() [2/2]

mongocxx::client::client ( const class uri mongodb_uri,
const options::client options = options::client() 
)

Creates a new client connection to MongoDB.

Parameters
mongodb_uriA MongoDB URI representing the connection parameters
optionsAdditional options that cannot be specified via the mongodb_uri
Exceptions
mongocxx::exceptionif invalid options are provided (whether from the URI or provided client options).

Member Function Documentation

◆ database()

class database mongocxx::client::database ( bsoncxx::string::view_or_value  name) const &

Obtains a database that represents a logical grouping of collections on a MongoDB server.

Note
A database cannot be obtained from a temporary client object.
Parameters
nameThe name of the database to get
Returns
The database

◆ list_databases()

cursor mongocxx::client::list_databases ( ) const

Enumerates the databases in the client.

Returns
A mongocxx::cursor containing a BSON document for each database. Each document contains a name field with the database name, a sizeOnDisk field with the total size of the database file on disk in bytes, and an empty field specifying whether the database has any data.
Exceptions
mongocxx::operation_exceptionif the underlying 'listDatabases' command fails.
See also
https://docs.mongodb.com/master/reference/command/listDatabases

◆ operator[]()

database mongocxx::client::operator[] ( bsoncxx::string::view_or_value  name) const &

Allows the syntax client["db_name"] as a convenient shorthand for the client::database() method by implementing the array subscript operator.

Note
A database cannot be obtained from a temporary client object.
Parameters
nameThe name of the database.
Returns
Client side representation of a server side database

◆ read_concern() [1/2]

class read_concern mongocxx::client::read_concern ( ) const

Returns the current read concern for this client.

Returns
The current read_concern

◆ read_concern() [2/2]

void mongocxx::client::read_concern ( class read_concern  rc)

Sets the read concern for this client.

Modifications at this level do not affect existing database instances that have been created by this client but do affect new ones as databases inherit the read_concern settings of their parent upon instantiation.

Parameters
rcThe new read_concern
See also
https://docs.mongodb.com/master/reference/read-concern/

◆ read_preference() [1/2]

class read_preference mongocxx::client::read_preference ( ) const

Returns the current read preference for this client.

Returns
The current read_preference
See also
https://docs.mongodb.com/master/core/read-preference/

◆ read_preference() [2/2]

void mongocxx::client::read_preference ( class read_preference  rp)

Sets the read preference for this client.

Modifications at this level do not affect existing database instances that have been created by this client but do affect new ones as databases inherit the read_preference settings of their parent upon instantiation.

Parameters
rpThe new read_preference
See also
https://docs.mongodb.com/master/core/read-preference/

◆ uri()

class uri mongocxx::client::uri ( ) const

Returns the current uri for this client.

Returns
The uri that this client was created with.

◆ write_concern() [1/2]

void mongocxx::client::write_concern ( class write_concern  wc)

Sets the write concern for this client.

Note
Modifications at this level do not affect existing databases or collection instances that have come from this client but do affect new ones as databases will receive a copy of this client's write_concern upon instantiation.
Parameters
wcThe new write concern

◆ write_concern() [2/2]

class write_concern mongocxx::client::write_concern ( ) const

Returns the current write concern for this client.

Returns
the current write_concern

The documentation for this class was generated from the following file: