MongoDB banner
← All connectors

Explore MongoDB with Azimutt

Collections Statistics Query history Query data

MongoDB is a popular NoSQL database designed for applications that need flexible, scalable, and high-performance storage. Unlike traditional relational databases, MongoDB stores data in a document-oriented format using JSON-like structures, making it ideal for handling unstructured data. With built-in features like sharding, replication, and high availability, MongoDB provides a powerful solution for managing large datasets in dynamic environments.

Azimutt is making the first database explorer targeted for real world databases: large, heterogeneous and messy 😅 If you ever looked for an Entity-Relationship diagram tool (ERD) or drew your database schema on a sheet or whiteboard, Azimutt is made for you. But it goes well beyond that with database documentation, cross-database data exploration and even linter and monitoring of your database.

As MongoDB has no formal schema, the MongoDB connector iterate over all collections and fetch a sample of documents on each to infer its schema.
If collections have an implicit schema, it works really well. If they don't, well, it reflects that also 😬
You can look at what it does by looking at the getSchema function in the src/mongodb.ts file.

Azimutt not only handles flat tables but also has nested fields, making it quite good for JSON-like structure like in MongoDB.

If you stored several entities in the same collection using a field to identify them, the MongoDB connector is able to create several entities out of one collection if you specify this field name in the `discriminator` attribute in your database url.

MongoDB has no foreign keys in the database. Still you can reference entities by storing their ids. If you do, and follow a naming convention, Azimutt will suggest missing relations, improving a lot the exploration experience. If not, you can still add them manually in Azimutt using AML, this is not a fun work, but it's a good documentation investment ^^

How to use it #

Using the MongoDB connector in Azimutt is quite easy:

  • Launch the Gateway, if needed (for the local one use npx azimutt@latest gateway)
  • Create a new project or add a source to an existing one
  • Fill your MongoDB database url (ex: mongodb://user:pass@localhost:27017/your_db)
Azimutt create project

Here are more details about how Azimutt secure your data and especially your database url.

If you don't have a MongoDB database, you can launch one with Docker:

docker run --name mongo_sample -p 27017:27017 mongo:latest

And here is a sample script to populate it.

Here is what you can do with Azimutt: Azimutt diagram

Other connectors you may want to check:

BigQuery logo

BigQuery

Google’s fully-managed, serverless data warehouse for large-scale analytics using SQL. Discover your datasets with Azimutt.

MySQL logo

MySQL

The world's most popular open-source relational database, widely used for web applications. Now accessible within Azimutt.

Oracle logo

Oracle

A high-performance relational database widely used in enterprises for mission-critical applications. Uniquely explorable with Azimutt.

Couchbase logo

Couchbase

A distributed NoSQL database optimized for interactive applications and real-time analytics. Infer collection schema and relations.