Documentation
MongoDB

MongoDB

MongoDB (opens in a new tab) is a popular document database. It can be accessed using SQL via the MongoDB Connector for BI (opens in a new tab), also known as BI Connector.

The driver for MongoDB is community-supported and is not supported by Cube or the vendor.

BI Connector for MongoDB Atlas, cloud-based MongoDB service, is approaching end-of-life (opens in a new tab). It will be deprecated and no longer supported in June 2025.

Prerequisites

Setup

Manual

Add the following to a .env file in your Cube project:

CUBEJS_DB_TYPE=mongobi
# The MongoBI connector host. If using on local machine, it should be either `localhost` or `127.0.0.1`:
CUBEJS_DB_HOST=my.mongobi.host
# The default port of the MongoBI connector service
CUBEJS_DB_PORT=3307
CUBEJS_DB_NAME=my_mongodb_database
CUBEJS_DB_USER=mongodb_server_user
CUBEJS_DB_PASS=mongodb_server_password
# MongoBI requires SSL connections, so set the following to `true`:
CUBEJS_DB_SSL=true

If you are connecting to a local MongoBI Connector, which is pointing to a local MongoDB instance, If MongoBI Connector and MongoDB are both running locally, then the above should work. To connect to a remote MongoDB instance, first configure mongosqld appropriately. See here for an example config file (opens in a new tab).

Environment Variables

Environment VariableDescriptionPossible ValuesRequired
CUBEJS_DB_HOSTThe host URL for a databaseA valid database host URL
CUBEJS_DB_PORTThe port for the database connectionA valid port number
CUBEJS_DB_NAMEThe name of the database to connect toA valid database name
CUBEJS_DB_USERThe username used to connect to the databaseA valid database username
CUBEJS_DB_PASSThe password used to connect to the databaseA valid database password
CUBEJS_DB_SSLIf true, enables SSL encryption for database connections from Cubetrue, false
CUBEJS_CONCURRENCYThe number of concurrent connections each queue has to the database. Default is 2A valid number
CUBEJS_DB_MAX_POOLThe maximum number of concurrent database connections to pool. Default is 8A valid number

Pre-Aggregation Feature Support

count_distinct_approx

Measures of type count_distinct_approx can not be used in pre-aggregations when using MongoDB as a source database.

Pre-Aggregation Build Strategies

To learn more about pre-aggregation build strategies, head here.

FeatureWorks with read-only mode?Is default?
Batching
Export Bucket--

By default, MongoDB uses batching to build pre-aggregations.

Batching

No extra configuration is required to configure batching for MongoDB.

Export Bucket

MongoDB does not support export buckets.

SSL

To enable SSL-encrypted connections between Cube and MongoDB, set the CUBEJS_DB_SSL environment variable to true. For more information on how to configure custom certificates, please check out Enable SSL Connections to the Database.