EventJoin us at AWS re:Invent 2024! Learn how to use MongoDB for AI use cases. Learn more >>Join us at AWS re:Invent 2024! Learn how to use MongoDB for AI use cases. >>

MongoDB Compatibility & Integration

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.

MongoDB Compatibility

MongoDB provides driver compatibility to connect all the popular languages and frameworks, Graphical User Interfaces (GUI), Integrated Development Environments (IDE), Runtime Environments (RTE), and Operating Systems (OS). This guide will provide you with the right documentation and compatibility information for the following:

Jump to the full list of compatibility content below.

Languages compatible with MongoDB

MongoDB drivers provide the necessary APIs to connect to the MongoDB database directly from the application code. Most programming languages have frameworks that provide utility methods for faster development and features like built-in security, workflows, and more on top of the basic features of the language. For example, Django is based on Python, Spring Boot uses Java, and so on. MongoDB provides compatibility with most of the top languages and frameworks.

Languages

MongoDB is compatible with all the top languages like C, Java, Python, TypeScript, and many more. Some of these languages are listed below for reference. For a full list of languages compatible with MongoDB, refer to MongoDB languages.

C

C remains a great choice for legacy and modern applications because of its high performance and development of system level programming like operating system kernels and embedded software. MongoDB supports C using the MongoDB C driver, libmongoc.

Python

Python is gaining popularity by the day because of the rich and exhaustive library support for scientific computing, data analysis, and web development. MongoDB provides excellent compatibility with Python using the pymongo driver.

Java

Java is popular for enterprise applications and is one of the top programming languages based on object-oriented programming concepts. The MongoDB Java driver provides seamless compatibility to build highly performant, scalable applications.

JSON

JSON (JavaScript Object Notation) is a text-based data-interchange format used for sending and receiving data from client to server and vice versa in web applications. You can easily import JSON into MongoDB from different environments and languages.

TypeScript

TypeScript is a superscript of JavaScript with the optional static typing and type inference included. MongoDB supports TypeScript using the MongoDB Node JS driver. Read our tutorial to know how to work with MongoDB and TypeScript.

Frameworks

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 will provide built-in methods leading to reduced 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.

Django

Django is a popular Python web framework for building scalable applications, and MongoDB adds to the power because of its flexible schema and support for storing and easily accessing even nested items. Django connects to MongoDB in many ways, with the official driver being PyMongo.

Flask

Flask is a popular Python framework for building lightweight web applications. Developers can use Flask-PyMongo helper, which is a wrapper around the PyMongo driver providing a better development experience. Using Flask and MongoDB helps you build highly scalable and robust applications.

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 by connecting MongoDB and Spring Boot.

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 simply means having server-side logic inside the application architecture.

Runtime Environments (RTE) compatible with MongoDB

RTE is a facilitator that sits on the top of the operating system and provides language-specific libraries and resources for applications or programs to run. RTE connects to the (MongoDB) database using the specific language drivers. MongoDB supports the following RTE:

Mongo Shell

The Mongo Shell, mongosh, is an interactive JavaScript interface to query MongoDB data and perform administrative tasks. It is installed as part of the MongoDB server installation.

Docker

Docker containers package up an entire application and its related dependencies and configurations as a single unit. Docker lets containers run your applications on any operating system or hardware. MongoDB can run on Docker as a container or from another container.

Docker Cluster

MongoDB Clusters (replica sets) provide high availability. The best way to create a MongoDB Cluster is by using MongoDB Atlas, the DbaaS provided by MongoDB. However, you can also use Docker to deploy a MongoDB cluster. This way you wouldn’t have to install MongoDB on your machine but can still run the clusters.

JRE

Java Runtime Environment (JRE) contains class libraries, 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 details the Java driver versions that work with specific JRE versions and MongoDB versions.

Node.js

Node.js can run your services by installing the application code and related dependencies on Google’s V8 engine. MongoDB provides driver compatibility with Node.js using the MongoDB Node.js driver.

CLR (Common Language Runtime)

CLR is a virtual RTE for .NET applications and is compatible with MongoDB using the MongoDB .NET driver.

Graphical User Interfaces (GUI) compatible with MongoDB

Graphical User Interfaces (GUI) make it easy for users to graphically view the contents of any application using a rich interface. You can manage your MongoDB databases, collections, and documents, and perform various database operations from any of the below supported GUIs:

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.

MongoDB Compass

MongoDB Compass is the official GUI for MongoDB and is an interactive tool for viewing, analyzing, querying, and optimizing your data. You can just drag and drop to build pipelines, perform schema analysis, discover data patterns, and much more using MongoDB Compass.

Ops Manager

MongoDB Ops Manager allows you to deploy, monitor, backup, and scale MongoDB applications on your infrastructure. You can also automatically configure and maintain MongoDB nodes and clusters. MongoDB Ops Manager compatibility matrix provides a list of all the MongoDB versions compatible with Ops Manager.

Studio 3T

Studio 3T is a MongoDB technology partner that builds professional tools for MongoDB. It is one of the advanced third-party GUIs and comes with many benefits like task scheduler, drag and drop fields for visual query building, build aggregation queries, and many more.

Integrated Development Environments (IDE) compatible with MongoDB

An Integrated Development Environment is a software that provides a set of common developer tools for developers to code and test their applications in a single interface. IDE usually consists of a source code editor, debugger, and utilities for automation of builds and tests. MongoDB provides compatibility for some of the most advanced IDEs.

Studio3T

Studio3T is one of the top IDE and GUI for MongoDB. It has MongoDB tools like aggregation editor, IntelliShell, Export and Import Wizard, Visual Query Builder, and many others that make working with MongoDB easy and efficient.

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 that of working with the MongoDB console/shell. MongoDB commands work in DataGrip as well as other JetBrains IDEs. DataGrip is suitable to work 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 get a quick overview of all your data in one place. You can also quickly access the Mongo Shell from VS Code.

Operating Systems (OS) compatible with MongoDB

MongoDB provides OS compatibility with all the major operating systems.

Linux

MongoDB provides compatibility for the following Linux platforms and distributions:

Windows Server 2016 and 2019

MongoDB is compatible with the 64-bit versions of Windows Server 2016 and 2019 on x86_64 architecture.

macOS

You can install MongoDB on your macOS using the Homebrew package manager.

View the complete compatibility matrix for all supported OS platforms in the MongoDB manual.

Next steps

With every release, MongoDB comes with a host of new features and support for a broader range of workloads, and enhances security and privacy among other ways of creating better future applications. 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.

FAQs

What is featureCompatibilityVersion in MongoDB?

featureCompatibilityVersion is a mechanism to facilitate rolling upgrades of your MongoDB deployments. With MongoDB Atlas, this is managed automatically during upgrades, but for Ops Manager, Cloud Manager, and on-prem deployments, one of the upgrade steps is to increment the featureCompatibilityVersion by running a database command.

What is the MongoDB Stable API?

The MongoDB Stable API is a subset of MongoDB commands and parameters that ensures upgrades to the MongoDB server do not break existing application functionality. Application developers can use MongoDB Stable API commands to be confident their application code will continue to work after upgrading the MongoDB server. See the Stable API — MongoDB Manual reference for more information on how to use the Stable API.

Is Java compatible with MongoDB?

MongoDB provides Java compatibility using the MongoDB Java driver. The MongoDB Java compatibility matrix specifies the recommended MongoDB Java drivers for particular versions of MongoDB.

Does MongoDB support JDBC?

Yes, MongoDB supports JDBC. MongoDB JDBC driver allows SQL queries on MongoDB. The Atlas SQL JDBC driver works on Atlas connecting to an Atlas Data Federation or an Atlas SQL instance.

Can MongoDB use C#?

Yes, MongoDB is compatible with C# and connects using the MongoDB C# driver.

What are MongoDB drivers?

MongoDB drivers are APIs and libraries that allow developers to programmatically communicate with MongoDB databases. MongoDB provides seamless compatibility with all major Operating Systems, Runtime Environments (RTE), Integrated Development Environments (IDE), Graphical User Interfaces (GUI), languages, and frameworks.