This section explains the MongoDB connection and authentication options supported by the driver. You can pass the connection options as parameters of the connection URI to specify the behavior of the client.
Specifies the app name the driver passes to the server in the client metadata as part of the connection handshake. The driver sends the
Specifies the authentication mechanism method to use for connection to the server. If you do not specify a value, the driver uses the default mechanism, either
comma separated key:value pairs, for example, "opt1:val1,opt2:val2"
Specifies additional options provided for authentication, such as enabling hostname canonicalization for GSSAPI.
Specifies the database that connections authenticate against.
comma separated list of strings, for example, "snappy,zlib,zstd"
Specifies the allowed compression types for wire protocol messages sent to or received from the server. See Network Compression for more information.
Specifies the amount of time, in milliseconds, to wait to establish a single TCP socket connection to the server before raising an error. Specifying
Specifies whether to force dispatch all operations to the host specified in the connection URI.
integer greater than or equal to 500
Specifies the interval, in milliseconds, between regular server monitoring checks.
Specifies the journal write concern for the client. See write concern for more information.
Specifies whether the driver is connecting to a load balancer.
Specifies the size of the latency window, in milliseconds, on round trip time for selecting between suitable servers. Specifying
Specifies the amount of time, in milliseconds, a connection can be idle before it's closed. Specifying
Specifies the maximum number of clients or connections the driver can create in its connection pool. This count includes connections in use.
Specifies the maximum number of connections a driver's connection pool may be establishing concurrently.
-1, or an integer greater than or equal 90
Specifies the maximum replication lag, in wall clock time, that a secondary can experience and still be eligible for server selection. Specifying
Specifies the number of connections the driver creates and maintains in the connection pool even when no operations are occurring. This count includes connections in use.
Specifies the SOCKS5 proxy IPv4 address, IPv6 address, or domain name.
Specifies the TCP port number of the SOCKS5 proxy server. If you set the
Specifies the username for authentication to the SOCKS5 proxy server. If you set this option to a zero-length string, the driver ignores it.
Specifies the password for authentication to the SOCKS5 proxy server. If you set this option to a zero-length string, the driver ignores it.
Specifies the default read concern for the client. See read concern for more information.
Specifies the default read preference for the client (excluding tags). See read preference for more information.
comma-separated key:value pairs, for example, "dc:ny,rack:1" and "dc:ny can be specified multiple times, each instance of this key is a separate tag set
Specifies the default read preference tags for the client. This option is valid only if the read preference mode is not primary.
The driver uses the order of the tags in the URI as the order for the read preference.
Specifies the name of the replica set to connect to.
Enables retryable reads.
Enables retryable writes.
Specifies the monitoring mode that the driver monitors use. When this option is set to
Specifies the timeout, in milliseconds, to block for server selection before raising an error.
Specifies to scan the topology only once after a server selection failure instead of repeatedly until the server selection times out.
Specifies the amount of time, in milliseconds, spent attempting to send or receive on a socket before timing out. Specifying
Specifies the maximum number of SRV results to randomly select when initially populating the seedlist or, during SRV polling, adding new hosts to the topology.
a valid SRV service name according to RFC 6335
Specifies the service name to use for SRV lookup in initial DNS seedlist discovery.
unset (feature is not enabled by default)
Specifies the timeout, in milliseconds, for the full execution of an operation.
Specifies whether TLS is required for connections to the server. Using a
Specifies whether the driver generates an error when the server's TLS certificate is invalid. Set this option to
Specifies whether the driver generates an error when there is a mismatch between the server's hostname and the hostname specified by the TLS certificate. Set this option to
Specifies the path to a file with either a single or bundle of certificate authorities to trust when making a TLS connection. To learn more about setting this connection option, see the Provide Certificate Filepaths section of the TLS guide.
Specifies the path to the client certificate file or the client private key file. If you need both, you must concatenate the files. To learn more about setting this connection option, see the Provide Certificate Filepaths section of the TLS guide.
Specifies the password to decrypt the client private key to be used for TLS connections.
Specifies to relax TLS constraints as much as possible, such as allowing invalid certificates or hostname mismatches. Set this option to
non-negative integer or string
Specifies the default write concern
Specifies the amount of time, in milliseconds, spent attempting to check out a connection from a server's connection pool before timing out.
Specifies the default write concern timeout field for the client.
Specifies the level of compression when using zlib to compress wire protocol messages.