指定连接选项
本页内容
概述
本页介绍了C++驱动程序中可用的MongoDB连接和身份验证选项。
设置连接选项
您可以通过指定连接URI中的选项或通过传递一个mongocxx::options::client
类的实例到mongocxx::client
构造函数的client_options
参数来配置您的连接。
注意
您只能在连接URI中指定某些连接选项,而其他选项只能在client_options
参数中指定。您可能需要结合这些方法来指定所有所需的选项。
使用连接URI
当您构建一个 mongocxx::client
对象时,您可以传递一个代表您的连接 URI 的 mongocxx::uri
对象。这个连接 URI 可以包含以 <name>=<value>
对的形式的连接选项。在下面的示例中,连接 URI 包含了值为 true
的 tls
选项和值为 path/to/file.pem
的 tlsCertificateKeyFile
选项。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=path/to/file.pem"); mongocxx::client client(uri); }
使用 mongocxx::options::client
对象
mongocxx::client
构造函数包括一个 client_options
参数,该参数接受 mongocxx::options::client
类的实例。您可以在 client_options
参数中指定某些选项,而不是将它们包含在您的连接 URI 中。
以下示例展示了如何使用 client_options
参数设置连接选项
int main() { mongocxx::instance instance; mongocxx::options::client client_options; mongocxx::options::tls tls_options; tls_options.pem_file("/path/to/file.pem"); client_options.tls_opts(tls_options); mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true"); mongocxx::client client(uri, client_options); }
读取连接选项
在构建一个 mongocxx::client
对象后,您可以通过使用 mongocxx::uri
对象的属性来读取某些连接选项的值。
以下示例展示了如何通过使用 tls()
属性来读取 tls
连接选项的值
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true"); mongocxx::client client(uri); auto is_tls_enabled = uri.tls(); }
以下各节展示了支持相应连接选项的每个 mongocxx::uri
属性。
连接URI选项
以下部分描述了可以设置在传递给C++驱动程序的连接URI中的连接选项。每个连接选项都链接到MongoDB服务器手册以及其对应的mongocxx::uri
属性(如果支持的话)。
副本集选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
连接选项
TLS选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
提示
您可以通过使用 client_options
参数来设置大多数TLS选项。有关更多信息,请参阅mongocxx::options::tls API 文档。
超时选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
压缩选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
连接池选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
写关注选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
N/A | |
N/A |
读关注选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
读优先级选项
连接URI选项 | mongocxx::uri 成员 |
---|---|
N/A | |
N/A |