MongoDB C++ Driver  mongocxx-3.7.0
Classes | Public Member Functions | List of all members
mongocxx::uri Class Reference

Class representing a MongoDB connection string URI. More...

#include <uri.hpp>

Classes

struct  host
 A host. More...
 

Public Member Functions

 uri (bsoncxx::string::view_or_value uri_string=k_default_uri)
 Constructs a uri from an optional MongoDB URI string. More...
 
 uri (uri &&) noexcept
 Move constructs a uri.
 
urioperator= (uri &&) noexcept
 Move assigns a uri.
 
 ~uri ()
 Destroys a uri.
 
std::string auth_mechanism () const
 Returns the authentication mechanism from the uri. More...
 
std::string auth_source () const
 Returns the authentication source from the uri. More...
 
std::vector< hosthosts () const
 Returns the hosts from the uri. More...
 
std::string database () const
 Returns the database from the uri. More...
 
bsoncxx::document::view options () const
 Returns other uri options. More...
 
std::string password () const
 Returns the password from the uri. More...
 
class read_concern read_concern () const
 Returns the read concern from the uri. More...
 
class read_preference read_preference () const
 Returns the read preference from the uri. More...
 
std::string replica_set () const
 Returns the replica set specified in the uri. More...
 
MONGOCXX_DEPRECATED bool ssl () const
 Returns the ssl parameter from the uri. More...
 
bool tls () const
 Returns the tls parameter from the uri. More...
 
std::string to_string () const
 Returns the uri in a string format. More...
 
std::string username () const
 Returns the supplied username from the uri. More...
 
class write_concern write_concern () const
 Returns the write concern specified in the uri. More...
 
stdx::optional< stdx::string_view > appname () const
 Returns the value of the option "appname" if present in the uri. More...
 
stdx::optional< bsoncxx::document::viewauth_mechanism_properties () const
 Returns the value of the option "authMechanismProperties" if present in the uri. More...
 
std::vector< stdx::string_view > compressors () const
 Returns the list of compressors present in the uri or an empty list if "compressors" was not present or contained no valid compressors. More...
 
stdx::optional< std::int32_t > connect_timeout_ms () const
 Returns the value of the option "connectTimeoutMS" if present in the uri. More...
 
stdx::optional< bool > direct_connection () const
 Returns the value of the option "directConnection" if present in the uri. More...
 
stdx::optional< std::int32_t > heartbeat_frequency_ms () const
 Returns the value of the option "heartbeatFrequencyMS" if present in the uri. More...
 
stdx::optional< std::int32_t > local_threshold_ms () const
 Returns the value of the option "localThresholdMS" if present in the uri. More...
 
stdx::optional< std::int32_t > max_pool_size () const
 Returns the value of the option "maxPoolSize" if present in the uri. More...
 
stdx::optional< bool > retry_reads () const
 Returns the value of the option "retryReads" if present in the uri. More...
 
stdx::optional< bool > retry_writes () const
 Returns the value of the option "retryWrites" if present in the uri. More...
 
stdx::optional< std::int32_t > server_selection_timeout_ms () const
 Returns the value of the option "serverSelectionTimeoutMS" if present in the uri. More...
 
stdx::optional< bool > server_selection_try_once () const
 Returns the value of the option "serverSelectionTryOnce" if present in the uri. More...
 
stdx::optional< std::int32_t > socket_timeout_ms () const
 Returns the value of the option "socketTimeoutMS" if present in the uri. More...
 
stdx::optional< bool > tls_allow_invalid_certificates () const
 Returns the value of the option "tlsAllowInvalidCertificates" if present in the uri. More...
 
stdx::optional< bool > tls_allow_invalid_hostnames () const
 Returns the value of the option "tlsAllowInvalidHostnames" if present in the uri. More...
 
stdx::optional< stdx::string_view > tls_ca_file () const
 Returns the value of the option "tlsCAFile" if present in the uri. More...
 
stdx::optional< stdx::string_view > tls_certificate_key_file () const
 Returns the value of the option "tlsCertificateKeyFile" if present in the uri. More...
 
stdx::optional< stdx::string_view > tls_certificate_key_file_password () const
 Returns the value of the option "tlsCertificateKeyFilePassword" if present in the uri. More...
 
stdx::optional< bool > tls_disable_certificate_revocation_check () const
 Returns the value of the option "tlsDisableCertificateRevocationCheck" if present in the uri. More...
 
stdx::optional< bool > tls_disable_ocsp_endpoint_check () const
 Returns the value of the option "tlsDisableOCSPEndpointCheck" if present in the uri. More...
 
stdx::optional< bool > tls_insecure () const
 Returns the value of the option "tlsInsecure" if present in the uri. More...
 
stdx::optional< std::int32_t > wait_queue_timeout_ms () const
 Returns the value of the option "waitQueueTimeoutMS" if present in the uri. More...
 
stdx::optional< std::int32_t > zlib_compression_level () const
 Returns the value of the option "zlibCompressionLevel" if present in the uri. More...
 

Detailed Description

Class representing a MongoDB connection string URI.

Todo:
CXX-2038 Use optionals for all option getters. Otherwise users cannot distinguish between a case of an empty option explicitly present in the URI and the option being omitted. Also change getters that return a std::string to return a string_view since a copy is not necessary.
See also
https://docs.mongodb.com/manual/reference/connection-string/
http://mongoc.org/libmongoc/current/mongoc_uri_t.html for more information on supported URI options.
Examples
examples/mongocxx/client_session.cpp.

Constructor & Destructor Documentation

◆ uri()

mongocxx::uri::uri ( bsoncxx::string::view_or_value  uri_string = k_default_uri)

Constructs a uri from an optional MongoDB URI string.

If no URI string is specified, uses the default URI string, 'mongodb://localhost:27017'.

See also
The documentation for the version of libmongoc used for the list of supported URI options. For the latest libmongoc release: http://mongoc.org/libmongoc/current/mongoc_uri_t.html
Parameters
uri_stringString representing a MongoDB connection string URI, defaults to k_default_uri.

Member Function Documentation

◆ appname()

stdx::optional<stdx::string_view> mongocxx::uri::appname ( ) const

Returns the value of the option "appname" if present in the uri.

Returns
An optional stdx::string_view

◆ auth_mechanism()

std::string mongocxx::uri::auth_mechanism ( ) const

Returns the authentication mechanism from the uri.

Returns
A string representing the authentication mechanism.

◆ auth_mechanism_properties()

stdx::optional<bsoncxx::document::view> mongocxx::uri::auth_mechanism_properties ( ) const

Returns the value of the option "authMechanismProperties" if present in the uri.

Returns
An optional bsoncxx::document::view

◆ auth_source()

std::string mongocxx::uri::auth_source ( ) const

Returns the authentication source from the uri.

Returns
A string representing the authentication source.

◆ compressors()

std::vector<stdx::string_view> mongocxx::uri::compressors ( ) const

Returns the list of compressors present in the uri or an empty list if "compressors" was not present or contained no valid compressors.

Returns
A std::vector of stdx::string_view.

◆ connect_timeout_ms()

stdx::optional<std::int32_t> mongocxx::uri::connect_timeout_ms ( ) const

Returns the value of the option "connectTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ database()

std::string mongocxx::uri::database ( ) const

Returns the database from the uri.

Returns
A string with the name of the database.

◆ direct_connection()

stdx::optional<bool> mongocxx::uri::direct_connection ( ) const

Returns the value of the option "directConnection" if present in the uri.

Returns
An optional bool

◆ heartbeat_frequency_ms()

stdx::optional<std::int32_t> mongocxx::uri::heartbeat_frequency_ms ( ) const

Returns the value of the option "heartbeatFrequencyMS" if present in the uri.

Returns
An optional std::int32_t

◆ hosts()

std::vector<host> mongocxx::uri::hosts ( ) const

Returns the hosts from the uri.

Returns
A vector of hosts.

◆ local_threshold_ms()

stdx::optional<std::int32_t> mongocxx::uri::local_threshold_ms ( ) const

Returns the value of the option "localThresholdMS" if present in the uri.

Returns
An optional std::int32_t

◆ max_pool_size()

stdx::optional<std::int32_t> mongocxx::uri::max_pool_size ( ) const

Returns the value of the option "maxPoolSize" if present in the uri.

Returns
An optional std::int32_t

◆ options()

bsoncxx::document::view mongocxx::uri::options ( ) const

Returns other uri options.

Note, options are returned in the case they were presented. The URI mongodb://localhost/?appName=abc will return { "appName": "abc" } The URI mongodb://localhost/?appname=abc will return { "appname": "abc" }

Returns
A document view containing other options.

◆ password()

std::string mongocxx::uri::password ( ) const

Returns the password from the uri.

Returns
A string containing the supplied password.

◆ read_concern()

class read_concern mongocxx::uri::read_concern ( ) const

Returns the read concern from the uri.

Returns
A read_concern that represents what was specified in the uri.

◆ read_preference()

class read_preference mongocxx::uri::read_preference ( ) const

Returns the read preference from the uri.

Returns
A read_preference that represents what was specified in the uri.

◆ replica_set()

std::string mongocxx::uri::replica_set ( ) const

Returns the replica set specified in the uri.

Returns
A string representing the supplied replica set name.

◆ retry_reads()

stdx::optional<bool> mongocxx::uri::retry_reads ( ) const

Returns the value of the option "retryReads" if present in the uri.

Returns
An optional bool

◆ retry_writes()

stdx::optional<bool> mongocxx::uri::retry_writes ( ) const

Returns the value of the option "retryWrites" if present in the uri.

Returns
An optional bool

◆ server_selection_timeout_ms()

stdx::optional<std::int32_t> mongocxx::uri::server_selection_timeout_ms ( ) const

Returns the value of the option "serverSelectionTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ server_selection_try_once()

stdx::optional<bool> mongocxx::uri::server_selection_try_once ( ) const

Returns the value of the option "serverSelectionTryOnce" if present in the uri.

Returns
An optional bool

◆ socket_timeout_ms()

stdx::optional<std::int32_t> mongocxx::uri::socket_timeout_ms ( ) const

Returns the value of the option "socketTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ ssl()

MONGOCXX_DEPRECATED bool mongocxx::uri::ssl ( ) const

Returns the ssl parameter from the uri.

Returns
Boolean that is true if ssl is enabled and false if not.
Deprecated:
The tls() method should be used instead of this method.

◆ tls()

bool mongocxx::uri::tls ( ) const

Returns the tls parameter from the uri.

Returns
Boolean that is true if tls is enabled and false if not.

◆ tls_allow_invalid_certificates()

stdx::optional<bool> mongocxx::uri::tls_allow_invalid_certificates ( ) const

Returns the value of the option "tlsAllowInvalidCertificates" if present in the uri.

Returns
An optional bool

◆ tls_allow_invalid_hostnames()

stdx::optional<bool> mongocxx::uri::tls_allow_invalid_hostnames ( ) const

Returns the value of the option "tlsAllowInvalidHostnames" if present in the uri.

Returns
An optional bool

◆ tls_ca_file()

stdx::optional<stdx::string_view> mongocxx::uri::tls_ca_file ( ) const

Returns the value of the option "tlsCAFile" if present in the uri.

Returns
An optional stdx::string_view

◆ tls_certificate_key_file()

stdx::optional<stdx::string_view> mongocxx::uri::tls_certificate_key_file ( ) const

Returns the value of the option "tlsCertificateKeyFile" if present in the uri.

Returns
An optional stdx::string_view

◆ tls_certificate_key_file_password()

stdx::optional<stdx::string_view> mongocxx::uri::tls_certificate_key_file_password ( ) const

Returns the value of the option "tlsCertificateKeyFilePassword" if present in the uri.

Returns
An optional stdx::string_view

◆ tls_disable_certificate_revocation_check()

stdx::optional<bool> mongocxx::uri::tls_disable_certificate_revocation_check ( ) const

Returns the value of the option "tlsDisableCertificateRevocationCheck" if present in the uri.

Returns
An optional bool

◆ tls_disable_ocsp_endpoint_check()

stdx::optional<bool> mongocxx::uri::tls_disable_ocsp_endpoint_check ( ) const

Returns the value of the option "tlsDisableOCSPEndpointCheck" if present in the uri.

Returns
An optional bool

◆ tls_insecure()

stdx::optional<bool> mongocxx::uri::tls_insecure ( ) const

Returns the value of the option "tlsInsecure" if present in the uri.

Returns
An optional bool

◆ to_string()

std::string mongocxx::uri::to_string ( ) const

Returns the uri in a string format.

Returns
A string with the uri.

◆ username()

std::string mongocxx::uri::username ( ) const

Returns the supplied username from the uri.

Returns
A string with the username specified in the uri.

◆ wait_queue_timeout_ms()

stdx::optional<std::int32_t> mongocxx::uri::wait_queue_timeout_ms ( ) const

Returns the value of the option "waitQueueTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ write_concern()

class write_concern mongocxx::uri::write_concern ( ) const

Returns the write concern specified in the uri.

Returns
A write_concern that represents what was specified in the uri.

◆ zlib_compression_level()

stdx::optional<std::int32_t> mongocxx::uri::zlib_compression_level ( ) const

Returns the value of the option "zlibCompressionLevel" if present in the uri.

Returns
An optional std::int32_t

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