MongoDB is a general purpose document database highly suitable to store high volumes of data. As a product, MongoDB has evolved from being a database to a complete data platform with many advanced tools.
Apart from its own suite of products like MongoDB Compass, MongoDB Atlas, and MongoDB Charts, MongoDB offers seamless integration with many frameworks, operating systems, runtime and development environments, user interfaces, and much more, making the entire software lifecycle faster and efficient.
Key takeaways
- MongoDB supports official drivers for C, C++, .NET/C#, Go, Java, Kotlin, JavaScript, PHP, Python, Ruby, Rust, TypeScript, and Scala.
- MongoDB integrates with popular frameworks (Laravel, Django, Flask, Spring Boot, Angular), runtime environments (Node.js, JRE, Docker, CLR), and development tools (VS Code, DataGrip, Studio 3T).
- MongoDB 8.0 supports production deployments on Linux, Windows, and macOS, with Linux recommended for production.
- MongoDB Atlas supports multi-cloud deployments across AWS, Azure, and Google Cloud.
Table of contents
- How does MongoDB compatibility work?
- Which programming languages are compatible with MongoDB?
- Which frameworks are compatible with MongoDB?
- Which runtime environments (RTE) are compatible with MongoDB?
- Which graphical user interfaces (GUI) are compatible with MongoDB?
- Which integrated development environments (IDE) are compatible with MongoDB?
- Which operating systems (OS) are compatible with MongoDB?
- Conclusion: Every release builds on the previous release
- Related resources
- FAQs
How does MongoDB compatibility work?
Apart from its own suite of products like MongoDB Compass, MongoDB Atlas, and MongoDB Charts, MongoDB offers seamless integration with most of the top languages, frameworks, operating systems, runtime and development environments, and user interfaces—without custom workarounds or proprietary connectors.
MongoDB provides drivers for many popular languages and frameworks:
A driver is a language-specific client library that connects an application to MongoDB. MongoDB drivers provide the necessary APIs to connect to the MongoDB database directly from the application code. Each driver acts as the client library for its language, handling the connection parameters and communication process between your application and your MongoDB server.
A framework adds additional functionality to the drivers. Most programming languages have frameworks that allow faster development and features like built-in security, workflows, and more in addition to the basic features of the language. For example, Django is based on Python, Spring Boot uses Java, and so on.
Which programming languages are compatible with MongoDB?
MongoDB is compatible with all the top programming languages, including C, C++, .NET/C#, Go, Java, Kotlin, JavaScript, PHP, Python, Ruby, Rust, TypeScript, and Scala. Most programming languages align with development frameworks that include built-in security, workflows, and more, in addition to the basic features of the language. For example, Django is based on Python, Spring Boot uses Java, and so on.
A few of these languages are listed below for reference—see the full list of MongoDB languages.
C
C remains a great choice for legacy and modern applications because of its high performance and support for system-level programming like operating system kernels and embedded software. MongoDB supports C using the MongoDB C driver, also known as libmongoc, which handles all client operations and connection parameters for C applications that connect to MongoDB.
Go to the MongoDB C driver (libmongoc) documentation page to learn more.
Python
Python is popular because of its rich library support for scientific computing, data analysis, and web development. MongoDB provides excellent compatibility with Python using the PyMongo driver. PyMongo uses a Pythonic API that manages client connections, queries, and database operations.
Go to the MongoDB Python driver documentation page to learn more.
Java
Java is popular for enterprise applications and is one of the top programming languages based on object-oriented concepts. It’s known as the “write once, run anywhere” language because of its support for multiple platforms. Java objects can map directly to MongoDB documents with the MongoDB Java driver, giving client applications a natural way to work with MongoDB databases.
Besides the native driver, MongoDB also supports object-relational mapper (ORM) extensions for Spring Data and Hibernate. You can learn how to get started with Spring Data in this tutorial. For Hibernate, use this guide.
Go to the MongoDB Java driver documentation page to learn more.
Related data formats and language extensions
TypeScript
TypeScript is a superset of JavaScript with optional static typing and type inference included. MongoDB supports TypeScript using the MongoDB Node.js driver.
Read our tutorial to see how to work with MongoDB and TypeScript.
JSON
JSON (JavaScript Object Notation) is a text-based data-interchange format used for sending and receiving data from client to server in web applications. You can easily import JSON into MongoDB from different environments and languages.
BSON
MongoDB stores data internally as BSON (Binary JSON)—a binary-encoded extension of JSON that supports additional data types not available in standard JSON, such as dates, integers, and binary data. BSON aligns closely with native data types in most programming languages, which is why MongoDB drivers feel natural to work with regardless of language.
Go to the BSON resources page to learn more.
Which frameworks are compatible with MongoDB?
Popular frameworks like Laravel, Django, Angular, and many more are compatible with MongoDB and connect using the appropriate language driver.
Laravel
Laravel is the most popular PHP framework. While you can connect your PHP apps directly with the MongoDB PHP driver, integrating MongoDB with the Laravel framework provides built-in methods that reduce development time. The officially supported Laravel-MongoDB library extends methods in the Laravel API to work with MongoDB as a datastore in your Laravel application.
Go to the MongoDB Laravel documentation page to learn more.
Django
Django is a popular Python web framework for building scalable applications. MongoDB adds flexibility with a flexible schema and native support for nested data structures. Django connects to MongoDB in many ways.
Go to the PyMongo documentation page to learn more.
Flask
Flask is a popular Python framework for building lightweight web applications. Combining Flask and MongoDB helps builders create highly scalable and robust applications. The Flask-PyMongo helper wraps the PyMongo driver for a better development experience.
Go to the Flask-PyMongo helper page to learn more.
Spring Boot
Spring Boot is an auto-configured microservice-based web framework for quickly creating standalone applications. You can build highly scalable, secure applications in a very short time. Go to the connecting MongoDB and Spring Boot page to learn more.
Angular
Angular is a web application framework for building dynamic and static web sites, as well as mobile applications for Android and iOS.
Angular can be used with MongoDB in two ways:
MEAN stack — This uses a client-server architecture where the client is built on Angular and the database is MongoDB. The other technologies are Express and Node.js.
Serverless architecture — This can be achieved using Atlas App Services functions, which means having server-side logic inside the application architecture.
Go to Angular & MongoDB to learn more.
Which runtime environments (RTE) are compatible with MongoDB?
A runtime environment (RTE) is a facilitator. It sits on top of operating systems and provides language-specific libraries and resources for applications or programs. RTEs connect to MongoDB using the appropriate language driver, acting as the client environment that hosts and runs application processes. Below are the RTEs that MongoDB supports.
MongoDB Shell
The MongoDB Shell (mongosh) is an interactive JavaScript interface for querying MongoDB data and performing administrative tasks. It’s installed as part of the MongoDB installation and provides direct command access to MongoDB databases, allowing you to run queries, configure settings, and log operations.
Go to the MongoDB Shell (mongosh) documentation page to learn more.
Docker
Docker is a common host environment for MongoDB deployments. Docker packages an entire application and its related dependencies, configuring them as a single unit, which is useful for teams managing multiple client applications across different platforms or hardware. MongoDB can run on Docker as a container or connect from another container.
Go to the Docker and MongoDB compatibility page to learn how to start a container to run MongoDB and how to connect to MongoDB from a containerized application.
Docker Cluster
MongoDB clusters (replica sets) provide high availability. The best way to create a MongoDB cluster without downloading it to your own machine is by using MongoDB Atlas, MongoDB’s database-as-a-service (DBaaS) platform.
Go to the deploying a MongoDB Cluster with Docker page to learn more about how to use Docker to deploy a MongoDB cluster without installing MongoDB on your local machine.
JRE
The Java runtime environment (JRE) contains class libraries, a Java class loader, and the Java virtual machine (JVM). JRE abstracts the operating system and provides a platform to deploy and run Java applications. The MongoDB Java driver compatibility matrix aligns the correct versions of the MongoDB with the correct JRE versions, including parameters for client configuration and performance optimization.
Go to the MongoDB Java driver compatibility matrix page to learn more.
Node.js
Node.js can run your services by installing application code and related dependencies on Google's V8 engine. MongoDB provides driver compatibility with Node.js using the MongoDB Node.js driver.
Go to the MongoDB Node.js driver documentation page to learn more.
CLR (common language runtime)
CLR is a virtual runtime environment for .NET applications and is compatible with MongoDB using the MongoDB .NET driver.
Go to the MongoDB .NET driver documentation page to learn more.
Which graphical user interfaces (GUI) are compatible with MongoDB?
Graphical user interfaces (GUIs) make it easy to visually manage MongoDB databases, collections, and documents, and perform various database operations without writing commands. Below are the GUIs MongoDB supports.
MongoDB Atlas
MongoDB Atlas is a database as a service developed by MongoDB. It eliminates the need to install MongoDB on your machine. You can create a free shared cluster and start using MongoDB's features on the go. Once you create the cluster, you can view all the databases, collections, and indexes, use the data for analytics, and even visualize data using MongoDB Charts.
Go to the MongoDB Atlas documentation page to learn more.
MongoDB Compass
MongoDB Compass is the official GUI for MongoDB. It’s an interactive tool for viewing, analyzing, querying, and optimizing your data. You can drag and drop to build pipelines, perform schema analysis, discover data patterns, and much more using MongoDB Compass.
Go to the MongoDB Compass documentation page to learn more.
Ops Manager
The MongoDB Ops Manager allows you to deploy, monitor, backup, and scale MongoDB applications on your own infrastructure. It provides detailed metrics, logs, and performance data to help you monitor operations across your MongoDB server deployments. You can also automatically configure and maintain MongoDB nodes and clusters.
Go to the MongoDB Ops Manager compatibility matrix documentation page to see a list of all compatible versions.
Studio 3T
Studio 3T is a MongoDB technology partner that builds professional tools for MongoDB. It’s one of the most advanced third-party GUIs available and includes features like a task scheduler, drag-and-drop visual query building, and aggregation query support.
Go to the MongoDB and 3T Software Labs Overview to learn more.
Which integrated development environments (IDE) are compatible with MongoDB?
An integrated development environment (IDE) is a software application that provides a set of common developer tools for coding and testing in a single interface. IDEs typically include a source code editor, debugger, and build automation utilities. Below are the IDEs MongoDB supports.
Studio3T
Studio3T is one of the top IDEs and GUIs for MongoDB. It includes MongoDB-specific tools like an aggregation editor, IntelliShell, Export and Import Wizard, and Visual Query Builder, making it easy to work with MongoDB.
JetBrains (DataGrip)
DataGrip, the professional database IDE, is a result of collaboration between MongoDB and JetBrains. It allows for advanced data exploration and analytics and provides an experience similar to working with the MongoDB Shell. MongoDB commands work in DataGrip as well as other JetBrains IDEs. DataGrip is compatible with MongoDB Atlas.
VS Code
Using the MongoDB VS Code extension, you can connect to your MongoDB instance, view databases, collections, and indexes, work with aggregations and queries, and view documents and collection metrics in one place. You can also quickly access the MongoDB Shell from VS Code.
Which operating systems (OS) are compatible with MongoDB?
MongoDB 8.0 supports deployments on Linux, Windows, and macOS. Refer to the MongoDB 8.0 production notes linked below.
Go to the MongoDB 8.0 Production Notes for earlier versions of MongoDB and the full platform matrix.
Conclusion: Every release builds on the previous release
The goal with every new release is to deliver new features, support for a broader range of workloads, and enhance security and privacy. Read our white paper on what's new in MongoDB and see how your project can benefit from it. You can also try a free cluster of MongoDB Atlas, MongoDB's database as a service, to skip the installation overheads on your device.
Related resources
- MongoDB Driver Documentation — Explore the full client driver library for all supported languages.
- MongoDB Supported Languages — Delve into language-by-language guides and tutorials.
- MongoDB 8.0 Production Notes — View the full OS platform support matrix.
- Driver Compatibility Tables — Discover driver and server version compatibility.
- MongoDB Atlas — Get started with a free MongoDB Atlas cluster.
- MongoDB Compass — Download MongoDB Compass, the official MongoDB GUI.