What is MongoDB?

MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
MongoDB is a tool in the Databases category of a tech stack.
MongoDB is an open source tool with 26.5K GitHub stars and 5.6K GitHub forks. Here’s a link to MongoDB's open source repository on GitHub

Who uses MongoDB?

Companies
4856 companies reportedly use MongoDB in their tech stacks, including Uber, LaunchDarkly, and Delivery Hero.

Developers
85948 developers on StackShare have stated that they use MongoDB.

MongoDB Integrations

Datadog, Mongoose, Meteor, JSON, and Let's Encrypt are some of the popular tools that integrate with MongoDB. Here's a list of all 190 tools that integrate with MongoDB.
Pros of MongoDB
828
Document-oriented storage
593
No sql
553
Ease of use
464
Fast
410
High performance
255
Free
218
Open source
180
Flexible
145
Replication & high availability
112
Easy to maintain
42
Querying
39
Easy scalability
38
Auto-sharding
37
High availability
31
Map/reduce
27
Document database
25
Easy setup
25
Full index support
16
Reliable
15
Fast in-place updates
14
Agile programming, flexible, fast
12
No database migrations
8
Easy integration with Node.Js
8
Enterprise
6
Enterprise Support
5
Great NoSQL DB
4
Support for many languages through different drivers
3
Schemaless
3
Aggregation Framework
3
Drivers support is good
2
Fast
2
Managed service
2
Easy to Scale
2
Awesome
2
Consistent
1
Good GUI
1
Acid Compliant
Decisions about MongoDB

Here are some stack decisions, common use cases and reviews by companies and developers who chose MongoDB in their tech stack.

Martin Johannesson
Senior Software Developer at IT Minds · | 14 upvotes · 2.9M views
Shared insights
at

At IT Minds we create customized internal or #B2B web and mobile apps. I have a go to stack that I pitch to our customers consisting of 3 core areas. 1) A data core #backend . 2) A micro #serverless #backend. 3) A user client #frontend.

For the Data Core I create a backend using TypeScript Node.js and with TypeORM connecting to a PostgreSQL Exposing an action based api with Apollo GraphQL

For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes. It is created with Next.js api pages. Using MongoDB to store essential information, caching etc.

Finally the frontend is built with React using Next.js , TypeScript and @Apollo. We create the frontend as a PWA and have a AMP landing page by default.

See more
Shared insights
at

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

See more
Needs advice
on
MongoDBMongoDB
and
PostgreSQLPostgreSQL

Hi everybody, I'm developing an application to be used in a gym setting where athletes fill out a health survey, and coaches can analyze the results. However, due to the dynamic nature of some aspects of the app and more static aspects of the other, I am wondering if/how I would integrate MongoDB with my existing PostgreSQL database. I would like to store things like registrations, license information, and club information in Postgres, while I am thinking about moving things like user surveys, logging, and user settings information over to MongoDB. Some fields on the survey are integers, some large blocks of text, and some are arrays. My thought is, if I moved that data to MongoDB, it would give us greater flexibility in terms of adding and removing fields and data to them, and it would scale a lot easier than Postgres. Not to mention it will be easier to organize that kind of data. Is that overkill or am I approaching this issue the right way? Thank you!

See more
Needs advice
on
MinioMinio
and
MongoDBMongoDB

I need to decide between Minio and MongoDB . The main features that I want to evaluate are :

  1. speed of save and retrieve documents;
  2. simply to develope of software for they use;
  3. costs;
See more
Needs advice
on
MongoDBMongoDB
and
MySQLMySQL

Hello, I am developing a new project with an internal chat between users. Also, there are complex relationships between the other project entities but I wolud like to build something scalable and fast and right now I am designing the data model. What kind of database would you recommend me to manage all application data? relational like MySQL, no relational like MongoDB or a mixed one? Thank you

See more
Needs advice
on
NestJSNestJS
and
SpringSpring

Hi, I have a project with a friend, and I'm hesitating between those two stacks. I want to make a simple application, with authentification (JWT) and MongoDB as a database. In the front-end part, we will use AngularJS. What should I choose?

See more

Blog Posts

Dec 8 2020 at 5:50PM

DigitalOcean

GitHubMySQLPostgreSQL+11
2
2448
JavaScriptGitHubNode.js+29
14
13643
GitGitHubDocker+34
29
42701
GitGitHubSlack+30
27
18700

Jobs that mention MongoDB as a desired skillset

LaunchDarkly
Oakland, California, United States
See all jobs

MongoDB's Features

  • Flexible data model, expressive query language, secondary indexes, replication, auto-sharding, in-place updates, aggregation, GridFS

MongoDB Alternatives & Comparisons

What are some alternatives to MongoDB?
Amazon DynamoDB
With it , you can offload the administrative burden of operating and scaling a highly available distributed database cluster, while paying a low price for only what you use.
Couchbase
Developed as an alternative to traditionally inflexible SQL databases, the Couchbase NoSQL database is built on an open source foundation and architected to help developers solve real-world problems and meet high scalability demands.
MySQL
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
PostgreSQL
PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
Cassandra
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
See all alternatives

MongoDB's Followers
80796 developers follow MongoDB to keep up with related blogs and decisions.