33. MongoDB
33.1. MongoDB Version Support
The driver models MongoDB instances as relational databases and supports MongoDB versions 2.6 through 5.0.
 
33.2. Connection Options
33.2.1. Authentication
Property
Description
AuthScheme
The authentication mechanism that MongoDB will use to authenticate the connection.
Server
The host name or IP address of the server hosting the MongoDB database.
Port
The port for the MongoDB database.
User
The MongoDB user account used to authenticate.
Password
The password used to authenticate the user.
Database
The name of the MongoDB database.
UseSSL
This field sets whether SSL is enabled.
AuthDatabase
The name of the MongoDB database for authentication.
ReplicaSet
This property allows you to specify multiple servers in addition to the one configured in Server and Port . Specify both a server name and port; separate servers with a comma.
DNSServer
Specify the DNS server when resolving MongoDB seed list.
33.2.2. Kerberos
Property
Description
KerberosKDC
The Kerberos Key Distribution Center (KDC) service used to authenticate the user.
KerberosRealm
The Kerberos Realm used to authenticate the user with.
KerberosSPN
The service principal name (SPN) for the Kerberos Domain Controller.
KerberosKeytabFile
The Keytab file containing your pairs of Kerberos principals and encrypted keys.
KerberosServiceRealm
The Kerberos realm of the service.
KerberosServiceKDC
The Kerberos KDC of the service.
KerberosTicketCache
The full file path to an MIT Kerberos credential cache file.
33.2.3. SSL
Property
Description
SSLClientCert
The TLS/SSL client certificate store for SSL Client Authentication (2-way SSL).
SSLClientCertType
The type of key store containing the TLS/SSL client certificate.
SSLClientCertPassword
The password for the TLS/SSL client certificate.
SSLClientCertSubject
The subject of the TLS/SSL client certificate.
SSLServerCert
The certificate to be accepted from the server when connecting using TLS/SSL.
33.2.4. SSH
Property
Description
SSHAuthMode
The authentication method to be used to log on to an SFTP server.
SSHClientCert
A certificate to be used for authenticating the user.
SSHClientCertPassword
The password of the SSHClientCert certificate if it has one.
SSHClientCertSubject
The subject of the SSH client certificate.
SSHClientCertType
The type of SSHClientCert certificate.
SSHServer
The SSH server.
SSHPort
The SSH port.
SSHUser
The SSH user.
SSHPassword
The SSH password.
SSHServerFingerprint
The SSH server fingerprint.
UseSSH
Whether to tunnel the MongoDB connection over SSH. Use SSH.
33.2.5. Firewall
Property
Description
FirewallType
The protocol used by a proxy-based firewall.
FirewallServer
The name or IP address of a proxy-based firewall.
FirewallPort
The TCP port for a proxy-based firewall.
FirewallUser
The user name to use to authenticate with a proxy-based firewall.
FirewallPassword
A password used to authenticate to a proxy-based firewall.
33.2.6. Logging
Property
Description
Logfile
A filepath which designates the name and location of the log file.
Verbosity
The verbosity level that determines the amount of detail included in the log file.
LogModules
Core modules to be included in the log file.
MaxLogFileSize
A string specifying the maximum size in bytes for a log file (for example, 10 MB).
MaxLogFileCount
A string specifying the maximum file count of log files.
33.2.7. Schema
Property
Description
Location
A path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemas
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Tables
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Views
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
33.2.8. Caching
Property
Description
AutoCache
Automatically caches the results of SELECT queries into a cache database specified by either CacheLocation or both of CacheConnection and CacheProvider .
CacheDriver
The database driver to be used to cache data.
CacheConnection
The connection string for the cache database. This property is always used in conjunction with CacheProvider . Setting both properties will override the value set for CacheLocation for caching data.
CacheLocation
Specifies the path to the cache when caching to a file.
CacheTolerance
The tolerance for stale data in the cache specified in seconds when using AutoCache .
Offline
Use offline mode to get the data from the cache instead of the live source.
CacheMetadata
This property determines whether or not to cache the table metadata to a file store.
33.2.9. Miscellaneous
Property
Description
BatchSize
The maximum size of each batch operation to submit.
ConnectionLifeTime
The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed.
ConnectOnOpen
This property species whether to connect to the MongoDB when the connection is opened.
DataModel
By default, the provider will not automatically discover the metadata for a child table as its own distinct table. To enable this functionality, set DataModel to Relational .
FlattenArrays
By default, nested arrays are returned as strings of JSON. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own. Set FlattenArrays to the number of elements you want to return from nested arrays.
FlattenObjects
Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON.
GenerateSchemaFiles
Indicates the user preference as to when schemas should be generated and saved.
MaxRows
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
NoCursorTimeout
The server normally times out idle cursors after an inactivity period (10 minutes) to prevent excess memory use. Set this option to prevent that.
Other
These hidden properties are used only in specific use cases.
Pagesize
The maximum number of results to return per page from MongoDB.
PoolIdleTimeout
The allowed idle time for a connection before it is closed.
PoolMaxSize
The maximum connections in the pool.
PoolMinSize
The minimum number of connections in the pool.
PoolWaitTime
The max seconds to wait for an available connection.
PseudoColumns
This property indicates whether or not to include pseudo columns as columns to the table.
QueryPassthrough
This option passes the query to MongoDB as-is.
Readonly
You can use this property to enforce read-only access to MongoDB from the provider.
ReadPreference
Set this to a strategy for reading from a replica set. Accepted values are primary, primaryPreferred, secondary, secondaryPreferred, and nearest.
RowScanDepth
The maximum number of rows to scan to look for the columns available in a table.
RTK
The runtime key used for licensing.
SlaveOK
This property sets whether the provider is allowed to read from secondary (slave) servers.
SupportEnhancedSQL
This property enhances SQL functionality beyond what can be supported through the API directly, by enabling in-memory client-side processing.
Timeout
The value in seconds until the timeout error is thrown, canceling the operation.
TypeDetectionScheme
Comma-separated options for how the provider will scan the data to determine the fields and datatypes in each document collection.
UseConnectionPooling
This property enables connection pooling.
UseFindAPI
Execute MongoDB queries using db.collection.find().
WriteConcern
Requests acknowledgment that the write operation has propagated to the specified number of mongod instances.
WriteConcernJournaled
It requires acknowledgment that the mongod instances, as specified in the WriteConcern , have written to the on-disk journal.
WriteConcernTimeout
This option specifies a time limit, in milliseconds, for the write concern.
WriteScheme
Sets whether the object type for inserted or updated objects is determined from the existing column metadata or the input value type.