Reporting with MongoDB
From May 2022, the support for importing data from MongoDB has ended. Please check out the announcement and suggested solution here.
This document shows how you can set up reporting when you're using MongoDB as your primary data source.
High-level Approach
Our bias is that MongoDB are not well-designed for analytics purpose, we recommend you to set up a SQL data warehouse, and use an ELT tool to load data into the warehouse.
The general steps are as follows:
- Setting up a SQL database as data warehouse
- Load data from MongoDB into SQL data warehouse (EL)
- Transform data to unnest nested fields and nested arrays
- Perform reporting operations off the SQL database
Step-by-step Guide
1. Setting up SQL data warehouse
If you don't already have a SQL data warehouse, you will need to set up one. Refer to this page for guides on how to set up SQL databases as data warehouse.
After spinning up SQL data warehouse, please connect them to Holistics.
2. Load data from MongoDB into your SQL data warehouse
Holistics has a built-in EL(T) functionality to pull data from MongoDB to SQL database. After that, users can easily query and create dashboards/reports easily using SQL.
Use the Import Models functionality to load individual MongoDB collections into data warehouse tables. It will automatically create the tables in your SQL datawarehouse, and pull the MongoDB data into it.
3. Transform nested fields and nested arrays
MongoDB deal with a lot of nested fields/arrays. Please refer to the section below on how to work with nested fields/arrays in MongoDB.
Handling nested/JSON data in Holistics
4. Build reports and visualizations
Now that you have loaded MongoDB data into SQL database, you can use Holistics Reporting to aggregate and visualize the data.
And put them together into a dashboard.