MongoDB Enterprise
MongoDB Enterprise is the commercial edition of MongoDB database that provides advanced security, enterprise-grade monitoring, automation, and integrations with LDAP, Kerberos, and auditing features. It is designed for large-scale, mission-critical deployments with support and tools for operational efficiency.
Prerequisites
Before connecting, ensure the following prerequisites are met:
- The MongoDB server must be accessible from iceDQ server.
- Valid credentials to access the database.
- MongoDB JDBC version 23 or above.
Authentication Mechanism
The following authentication mechanism is supported.
- SCRAM-SHA-1
Connection Properties
SCRAM-SHA-1 Authentication
Use one or more properties from the table below to create a valid connection. Properties marked with an asterisk (*) are required.
| Name | Description | Example Values |
|---|---|---|
| Connection Name * | A unique name that identifies the connection. | Prod_sales_data |
| Driver * | Driver used to establish the connection. By default, one driver is available. | MongoDB Enterprise Custom JDBC |
| Format * | The method used to connect to MongoDB cluster database. Standard format uses user-defined host/port, whereas SRV format fetches host/port via a DNS lookup. | Standard or SRV |
| Custom JDBC URL | Standardized string used to define the connection details. Refer the JDBC URL Formats section below. | jdbc:mongodb:Server=[194.186.53.47];Port=[27017];Database=[sales_db] |
| Host * | The endpoint (hostname) of the MongoDB instance. | 194.186.53.47 |
| Port * | Port on which the server listens. Default is 27017. | 27017 |
| Database * | Target database name. | sales_db |
| Type * | Connection type – System Connection or User Connection. Refer Connections for more details. | System or User |
| Username * | MongoDB login username. | john_doe |
| Password * | Password for the specified username. | Admin@123 |
TLS / SSL Certificate
The Transport Layer Security (TLS) / Secure Sockets Layer (SSL) certificate option enables encrypted communication between iceDQ and the MongoDB database server. iceDQ supports TLS/SSL through either Default or Custom Credentials.
Custom Credentials
If the user wants to use custom SSL/TLS certificates, they must enable the Use Custom Certificates checkbox and provide the following:
| Name | Description | Example Values |
|---|---|---|
| Server Certificate * | The server’s SSL/TLS certificate used to validate the server identity. | User needs to upload the server.crt (.crt) file. |
| Client Certificate * | The client’s SSL/TLS certificate used for mutual authentication. | User needs to upload the client.p12 (.p12) file. |
| Client Certificate Password * | The password required to access the client certificate’s private key. | Admin@123 |
| Client Certificate Subject * | The subject (Distinguished Name) of the client certificate for validation. | CN=client, O=org |
JDBC URL Formats
Below are the different URL formats that can be used in the Full URL property, based on the selected Format value.
| Format Type | Description | URL Format | Example |
|---|---|---|---|
| Standard | Connects using a direct host and port to a specific MongoDB instance. | jdbc:mongodb:Server=[host];Port=[port]; Database=[database] | jdbc:mongodb:Server=[194.186.53.47];Port=[27017]; Database=[sales_db] |
| SRV | Connects using a DNS SRV record for simplified connection strings, typically for sharded clusters or replicas. | jdbc:mongodb:Server=mongodb+srv://<host>; Database=[database] | jdbc:mongodb:Server=mongodb+srv://cluster0.acme.mongodb.net; Database=[sales_db] |
Custom Properties
The following optional connection properties can be configured based on user requirements.
| Property | Default Value | Possible Values | Description |
|---|---|---|---|
| GenerateSchemaFiles | Never | Never, OnUse, OnStart, OnCreate | To avoid creation of schema files for all the tables |
| ReplicaSet | Allows you to specify the other servers in the replica set in addition to the one configured in Server and Port. | ||
| DNSServer | Specify the DNS server when resolving MongoDB seed list. | ||
| SSL | false | true/false | Enables TLS/SSL encryption for the connection. |
| BatchSize | 0 | Any numeric value e.g. 100 | The batch operation will split the entire batch into separate batches of size BatchSize. |
| ReportMetadataExceptions | false | true, false | Ensures the authentication exceptions for metadata appear directly in your output |
| ConnectionLifeTime | 0 | Any numeric value e.g. 100 | The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed. |
| ConnectOnOpen | false | true, false | Specifies whether to connect to MongoDB when the connection is opened. |
| ReadPreference | primary | primary, primaryPreferred, secondary, secondaryPreferred, nearest | Enables queries to execute against a replica set member other than the primary. |
| ReadPreferenceTags | tag1:val1,tag2:val2; tag1:val1;tag2:val2; | Requires ReadPreference set to a value other than primary; allows filtering replica set members with tag sets. | |
| SlaveOk | false | true, false | Allows the driver to read from secondary (slave) servers in a replica set. |
| PageSize | 4096 | Any numeric value e.g. 100 | The maximum number of results to return per page from MongoDB. |
| Timeout | 60 | Any numeric value e.g. 100 | Time in seconds until the timeout error is thrown, canceling the operation. |
| Readonly | false | true, false | If true, only SELECT queries are allowed; INSERT, UPDATE, DELETE cause an error. |
Supported Datatypes
The following datatypes are supported.
- BINARY
- BOOL
- BSON:ARRAY
- BSON:MAXKEY
- BSON:MINKEY
- BSON:NULL
- BSON:OBJECTID
- BSON:REGEX
- DATETIME
- DECIMAL
- DOUBLE
- INT
- LONG
- STRING