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 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:
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.
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 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 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 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 (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 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.
Popular frameworks like Laravel, Django, Angular, and many more are compatible with MongoDB and connect using the appropriate language driver.
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 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 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 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 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:
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:
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 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.
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.
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 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 is a virtual RTE for .NET applications and is compatible with MongoDB using the MongoDB .NET driver.
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 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 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.
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 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.
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 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.
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.
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.
MongoDB provides OS compatibility with all the major operating systems.
MongoDB provides compatibility for the following Linux platforms and distributions:
MongoDB is compatible with the 64-bit versions of Windows Server 2016 and 2019 on x86_64 architecture.
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.
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.