| appname | string | 
            MongoDB 3.4+ has the ability to annotate connections with metadata
            provided by the connecting client. This metadata is included in the
            server's logs upon establishing a connection and also recorded in
            slow query logs when database profiling is enabled.
            
            This option may be used to specify an application name, which will
            be included in the metadata. The value cannot exceed 128 characters
            in length.
            | 
         
          | authMechanism | string | 
            The authentication mechanism that MongoDB will use to authenticate
            the connection. For additional details and a list of supported
            values, see
            » Authentication Options
            in the MongoDB manual.
            | 
         
          | authMechanismProperties | array | 
            Properties for the selected authentication mechanism. For additional
            details and a list of supported properties, see the
            » Driver Authentication Specification.
            Note: 
            
             When not specified in the URI string, this option is expressed as
             an array of key/value pairs. The keys and values in this array
             should be strings.
            
           
 | 
         
          | authSource | string | 
            The database name associated with the user's credentials. Defaults
            to the database component of the connection URI, or the
            admindatabase if both are unspecified. 
            For authentication mechanisms that delegate credential storage to
            other services (e.g. GSSAPI), this should be
            "$external". | 
         
          | compressors | string | 
            A prioritized, comma-delimited list of compressors that the client
            wants to use. Messages are only compressed if the client and server
            share any compressors in common, and the compressor used in each
            direction will depend on the individual configuration of the server
            or driver. See the
            » Driver Compression Specification
            for more information.
            | 
         
          | connectTimeoutMS | int | 
            The time in milliseconds to attempt a connection before timing out.
            Defaults to 10,000 milliseconds.
            | 
         
          | directConnection | bool | 
            This option can be used to control replica set discovery behavior
            when only a single host is provided in the connection string. By
            default, providing a single member in the connection string will
            establish a direct connection or discover additional members
            depending on whether the "replicaSet"URI option
            is omitted or present, respectively. Specifyfalseto force
            discovery to occur (if"replicaSet"is omitted)
            or specifytrueto force a direct connection (if"replicaSet"is present). | 
         
          | heartbeatFrequencyMS | int | 
            Specifies the interval in milliseconds between the driver's checks
            of the MongoDB topology, counted from the end of the previous check
            until the beginning of the next one. Defaults to 60,000
            milliseconds.
            
            Per the
            » Server Discovery and Monitoring Specification,
            this value cannot be less than 500 milliseconds.
            | 
         
          | journal | bool | 
            Corresponds to the default write concern's
            journalparameter. Iftrue, writes will
            require acknowledgement from MongoDB that the operation has been
            written to the journal. For details, see
            MongoDB\Driver\WriteConcern. | 
         
          | loadBalanced | bool | 
            Specifies whether the driver is connecting to a MongoDB cluster
            through a load balancer. If true, the driver may only connect to a
            single host (specified by either the connection string or SRV
            lookup), the"directConnection"URI option
            cannot betrue, and the"replicaSet"URI option
            must be omitted. Defaults tofalse. | 
         
          | localThresholdMS | int | 
            The size in milliseconds of the latency window for selecting among
            multiple suitable MongoDB instances while resolving a read
            preference. Defaults to 15 milliseconds.
            | 
         
          | maxStalenessSeconds | int | 
            Corresponds to the read preference's
            "maxStalenessSeconds". Specifies, in seconds, how
            stale a secondary can be before the client stops using it for read
            operations. By default, there is no maximum staleness and clients
            will not consider a secondary’s lag when choosing where to direct a
            read operation. For details, see
            MongoDB\Driver\ReadPreference. 
            If specified, the max staleness must be a signed 32-bit integer
            greater than or equal to
            MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS(i.e. 90 seconds). | 
         
          | password | string | The password for the user being authenticated. This option is useful
           if the password contains special characters, which would otherwise
           need to be URL encoded for the connection URI. | 
         
          | readConcernLevel | string | Corresponds to the read concern's levelparameter. Specifies the level of read isolation. For details, see
           MongoDB\Driver\ReadConcern. | 
         
          | readPreference | string | 
            Corresponds to the read preference's modeparameter. Defaults to"primary". For details,
            see MongoDB\Driver\ReadPreference. | 
         
          | readPreferenceTags | array | 
            Corresponds to the read preference's tagSetsparameter. Tag sets allow you to target read operations to specific
            members of a replica set. For details, see
            MongoDB\Driver\ReadPreference. Note: 
            
             When not specified in the URI string, this option is expressed as
             an array consistent with the format expected by
             MongoDB\Driver\ReadPreference::__construct().
            
           
 | 
         
          | replicaSet | string | 
            Specifies the name of the replica set.
            | 
         
          | retryReads | bool | 
            Specifies whether or not the driver should automatically retry
            certain read operations that fail due to transient network errors
            or replica set elections. This functionality requires MongoDB 3.6+.
            Defaults to true. 
            See the
            » Retryable Reads Specification
            for more information.
            | 
         
          | retryWrites | bool | 
            Specifies whether or not the driver should automatically retry
            certain write operations that fail due to transient network errors
            or replica set elections. This functionality requires MongoDB 3.6+.
            Defaults to true. 
            See
            » Retryable Writes
            in the MongoDB manual for more information.
            | 
         
          | serverSelectionTimeoutMS | int | 
            Specifies how long in milliseconds to block for server selection
            before throwing an exception. Defaults to 30,000 milliseconds.
            | 
         
          | serverSelectionTryOnce | bool | 
            When true, instructs the driver to scan the MongoDB deployment
            exactly once after server selection fails and then either select a
            server or raise an error. Whenfalse, the driver blocks and
            searches for a server up to the"serverSelectionTimeoutMS"value. Defaults totrue. | 
         
          | socketCheckIntervalMS | int | 
            If a socket has not been used recently, the driver must check it via
            a hellocommand before using it for any
            operation. Defaults to 5,000 milliseconds. | 
         
          | socketTimeoutMS | int | 
            The time in milliseconds to attempt a send or receive on a socket
            before timing out. Defaults to 300,000 milliseconds (i.e. five
            minutes).
            | 
         
          | srvMaxHosts | int | 
            The maximum number of SRV results to randomly select when initially
            populating the seedlist or, during SRV polling, adding new hosts to
            the topology. Defaults to 0(i.e. no maximum). | 
         
          | srvServiceName | string | 
            The service name to use for SRV lookup in initial DNS seedlist
            discovery and SRV polling. Defaults to "mongodb". | 
         
          | tls | bool | 
            Initiates the connection with TLS/SSL if true. Defaults tofalse. | 
         
          | tlsAllowInvalidCertificates | bool | 
            Specifies whether or not the driver should error when the server's
            TLS certificate is invalid. Defaults to false. Warning
            
             Disabling certificate validation creates a vulnerability.
             | 
         
          | tlsAllowInvalidHostnames | bool | 
            Specifies whether or not the driver should error when there is a
            mismatch between the server's hostname and the hostname specified by
            the TLS certificate. Defaults to false. Warning
            
             Disabling certificate validation creates a vulnerability. Allowing
             invalid hostnames may expose the driver to a
             » man-in-the-middle attack.
             | 
         
          | tlsCAFile | string | 
            Path to file with either a single or bundle of certificate
            authorities to be considered trusted when making a TLS connection.
            The system certificate store will be used by default.
            | 
         
          | tlsCertificateKeyFile | string | 
            Path to the client certificate file or the client private key file;
            in the case that they both are needed, the files should be
            concatenated.
            | 
         
          | tlsCertificateKeyFilePassword | string | 
            Password to decrypt the client private key (i.e.
            "tlsCertificateKeyFile"URI option) to be used
            for TLS connections. | 
         
          | tlsDisableCertificateRevocationCheck | bool | 
            If true, the driver will not attempt to check certificate
            revocation status (e.g. OCSP, CRL). Defaults tofalse. | 
         
          | tlsDisableOCSPEndpointCheck | bool | 
            If true, the driver will not attempt to contact an OCSP responder
            endpoint if needed (i.e. an OCSP response is not stapled). Defaults
            tofalse. | 
         
          | tlsInsecure | bool | 
            Relax TLS constraints as much as possible. Specifying truefor
            this option has the same effect as specifyingtruefor both the"tlsAllowInvalidCertificates"and"tlsAllowInvalidHostnames"URI options. Defaults
            tofalse. Warning
            
             Disabling certificate validation creates a vulnerability. Allowing
             invalid hostnames may expose the driver to a
             » man-in-the-middle attack.
             | 
         
          | username | string | The username for the user being authenticated. This option is useful
           if the username contains special characters, which would otherwise
           need to be URL encoded for the connection URI. | 
         
          | w | int|string | 
            Corresponds to the default write concern's wparameter. For details, see
            MongoDB\Driver\WriteConcern. | 
         
          | wTimeoutMS | int|string | 
            Corresponds to the default write concern's
            wtimeoutparameter. Specifies a time limit,
            in milliseconds, for the write concern. For details, see
            MongoDB\Driver\WriteConcern. 
            If specified, wTimeoutMSmust be a signed 32-bit
            integer greater than or equal to zero. | 
         
          | zlibCompressionLevel | int | 
            Specifies the compression level to use for the zlib compressor. This
            option has no effect if zlibis not included in
            the"compressors"URI option. See the
            » Driver Compression Specification
            for more information. |