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