MongoDB vs PostgreSQL

Need advice about which tool to choose?Ask the StackShare community!

MongoDB

72.1K
61.4K
+ 1
4.1K
PostgreSQL

73.2K
60.3K
+ 1
3.5K
Add tool

MongoDB vs PostgreSQL: What are the differences?

Developers describe MongoDB as "The database for giant ideas". 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. On the other hand, PostgreSQL is detailed as "A powerful, open source object-relational database system". 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.

MongoDB and PostgreSQL can be categorized as "Databases" tools.

"Document-oriented storage", "No sql" and "Ease of use" are the key factors why developers consider MongoDB; whereas "Relational database", "High availability " and "Enterprise class database" are the primary reasons why PostgreSQL is favored.

MongoDB and PostgreSQL are both open source tools. It seems that MongoDB with 16.3K GitHub stars and 4.1K forks on GitHub has more adoption than PostgreSQL with 5.44K GitHub stars and 1.8K GitHub forks.

Uber Technologies, Spotify, and Netflix are some of the popular companies that use PostgreSQL, whereas MongoDB is used by Uber Technologies, Lyft, and Codecademy. PostgreSQL has a broader approval, being mentioned in 2739 company stacks & 2169 developers stacks; compared to MongoDB, which is listed in 2189 company stacks and 2218 developer stacks.

Advice on MongoDB and PostgreSQL
Needs advice
on
MySQLMySQL
and
MongoDBMongoDB

I'm starting to work on a Jira-like bug tracker web app. This is a hobby project that is mostly a way for me to learn about different technologies and development processes(CI/CD, etc..) so I could be more ready when I start applying for programming jobs.

I'm debating between MySQL, which I'm less familiar with, and MongoDB which I have used in the past.

My two points of consideration are the following:

1) Which one is more likely to be relevant for web dev jobs? While I want to learn new technologies, I prefer learning ones that will make me more hireable in the future.

2) Which one is more flexible when it comes to changing the shape of the stored data? I expect to need to make some changes as the project goes on.

Thanks, everyone!

See more
Replies (2)
Recommends
MySQLMySQL

MySQL is still more popular than MongoDB if you look at Google Trends. I've also added MariaDB, which is pretty much a copy from MySQL and its features, and PostgreSQL, which is also a popular relational database.

This is a very good article for comparing MySQL to MongoDB and which one you should use: MongoDB vs MySQL: A Comparative Study on Databases.

If you just want to learn and you have the time, I would opt for using both MySQL and MongoDB. For example using MySQL for most of the site content and MongoDB for saving log messages. As you get more and more logs you start to see the benefits from MongoDB's faster document fetching.

See more
Andy Gee
Freelance Developer at DGTEpro · | 4 upvotes · 34.6K views

There's really not an awful lot of difference between the two, they have wildly different storage mechanisms but they each have their fairly similar benefits. If you want to learn something that might be a requisite skill for a job, I would also look at alternatives such as time based and column based systems like InfluxDB and the unbelievably fast and flexible ClickHouse. While they may seem like an unlikely fit for a personal bug tracker app, there's no reason not to use them. Since I got into InfluxDB people have been requesting it a lot and I'll be using ClickHouse for all large databases, probably forever. Expand your horizons beyond your competition's.

See more
Needs advice
on
MongoDBMongoDB
and
FaunaFauna

I’m doing a school project where I have to design a database for a password manager app like 1Password, bitwarden… I’m not sure which database paradigms I should use. Users would have the ability to create vaults and each vault will have many items and can be sorted into favorite, category, tag list… Please help.

See more
Replies (1)
Amr Saber
Backend Engineer at Aster · | 6 upvotes · 8.7K views
Recommends
PostgreSQLPostgreSQL

What I have learned through several years of experience, is that by default you should consider SQL database (like PostgreSQL, MySQL, ...) and if does not suit you then you should explore other noSQL options.

SQL is very solid and it can do almost anything and can support almost any kind of systems.

So, for your case I would recommend that you go with SQL. You should start by listing your use cases and infer from them your entities and relations, and work on them in a Top-to-bottom manner, meaning that you should have some entities that are the core dependencies for the other entities. Or, in other words, they can exist without other entities existing, but the opposite is not true, these are your core entities that you should work on first, then gradually build the other entities.

One way to figure out the core entities is to follow how the users will behave in your system, what will the user create first, and what is dependant on other entities.

For example, in your case, on way to do it is to start with the "vault", as everything else cannot exist without it (and it's the first thing a user would create), then do passwords as they depend on the vaults (I would say passwords are "under" the vault), then once you do them, you can start working on tags then categories, and so on...

See more

I have a project (in production) that a part of it is generating HTML from JSON object normally we use Microsoft SQL Server only as our main database. but when it comes to this part some team members suggest working with a NoSQL database as we are going to handle JSON data for both retrieval and querying. others replied that will add complexity and we will lose SQL Servers' Unit Of Work which will break the Atomic behavior, and they suggest to continue working with SQL Server since it supports working with JSON. If you have practical experience using JSON with SQL Server, kindly share your feedback.

See more
Replies (2)
TwoBySea
Software Engineer III · | 3 upvotes · 415 views

I agree with the advice you have been given to stick with SQL Server. If you are on the latest SQL Server version you can query inside the JSON field. You should set up a test database with a JSON field and try some queries. Once you understand it and can demonstrate it, show it to the other developers that are suggesting MongoDB. Once they see it working with their own eyes they may drop their position of Mongo over SQL. I would only seriously consider MongoDB if there was no other SQL requirements. I wouldn't do both. I'd be all SQL or all Mongo.

See more
Kevin Deyne
Principal Software Engineer at Accurate Background · | 2 upvotes · 11.5K views
Recommends

I think the key thing to look for is what kind of queries you're expecting to do on that JSON and how stable that data is going to be. (And if you actually need to store the data as JSON; it's generally pretty inexpensive to generate a JSON object)

MongoDB gets rid of the relational aspect of data in favor of data being very fluid in structure.

So if your JSON is going to vary a lot/is unpredictable/will change over time and you need to run queries efficiently like 'records where the field x exists and its value is higher than 3', that's a great use case for MongoDB.

It's hard to solve this in a standard relational model: Indexing on a single column that has wildly different values is pretty much impossible to do efficiently; and pulling out the data in its own columns is hard because it's hard to predict how many columns you'd have or what their datatypes would be. If this sounds like your predicament, 100% go for MongoDB.

If this is always going to be more or less the same JSON and the fields are going to be predictably the same, then the fact that it's JSON doesn't particularly matter much. Your indexes are going to approach it similar to a long string.

If the queried fields are very predictable, you should probably consider storing the fields as separate columns to have better querying capabilities. Ie if you have {"x":1, "y":2}, {"x":5, "y":6}, {"x":9, "y":0} - just make a table with an x and y column and generate the JSON. The CPU hit is worth it compared to the querying capabilities.

See more
Needs advice
on
PostgreSQLPostgreSQL
and
ArangoDBArangoDB

Hello All, I'm building an app that will enable users to create documents using ckeditor or TinyMCE editor. The data is then stored in a database and retrieved to display to the user, these docs can contain image data also. The number of pages generated for a single document can go up to 1000. Therefore by design, each page is stored in a separate JSON. I'm wondering which database is the right one to choose between ArangoDB and PostgreSQL. Your thoughts, advice please. Thanks, Kashyap

See more
Replies (2)
Attila Fulop
Recommends

Which Graph DB features are you planning to use?

See more
Needs advice
on
MySQLMySQLMongoDBMongoDB
and
FirebaseFirebase

Hey everyone, My users love Microsoft Excel, and so do I. I've been making tools for them in the form of workbooks for years, these tools usually have databases included in the spreadsheets or communicate to free APIs around the web, but now I want to distribute these tools in the form of Excel Add-ins for several reasons.

I want these Add-ins to communicate to a personal server to authorize users, read from my databases, and write to them while they're using their Excel environment. I have never built a website, so what would be a good solution for this, considering I'm new to all of these technologies? I know about the existence of Microsoft Azure, Microsoft SharePoint, and Google Sheets, but I don't know how to feel about those.

See more
Replies (2)
Recommends
SnowflakeSnowflake

Snowflake is a NoSQL database in the cloud, which also accepts SQL calls. Users can obtain an ODBC driver for SnowFlake, which would allow your Excel apps to write/read from the backend, locally.

See more

Just definitely don't use firebase. All of MongoDB, MySQL, MariaDB and PostGreSQL have a lot of community support and history.

See more
Wassim Ben Jdida
Needs advice
on
PostgreSQLPostgreSQLMySQLMySQL
and
GolangGolang

I am building a fintech startup with a friend, we decided to use Go for its performance and friendly syntax. We want to know if we should use a web framework or just use the pure net/http lib and also for the databases we put PostgreSQL and MySQL on the table, we want to know which one is better, from the community support to the best open-source implementation?

See more
Replies (3)
Shubham Chadokar
Software Engineer Specialist at Kaleyra · | 7 upvotes · 49.1K views

Postgres is a better option to consider compared to MySQL. With respect to performance, postgres has an edge over MySQL. Don't use net/http for production. Read this https://medium.com/@nate510/don-t-use-go-s-default-http-client-4804cb19f779 I prefer gorilla/mux as it is simple and provides all the basic features. Other lib seems to be an overhead if you just need basic routing.

See more
Carlos Iglesias
Recommends

MySQL and Postgre both are great and awesome and great support, community, support. Whatever will be good. Postgree have some little advantages.

See more
Rafael Breno de Vasconcellos Santos
Recommends
ElixirElixir

I recommend Elixir, even though I work in a fintech with Go, Elixir is a FP language so in my opinion the immutability is a important topic when working with money.

See more
Ilias Mentzelos
Software Engineer at Plum Fintech · | 9 upvotes · 65.6K views
Needs advice
on
MongoDBMongoDB
and
CouchbaseCouchbase

Hey, we want to build a referral campaign mechanism that will probably contain millions of records within the next few years. We want fast read access based on IDs or some indexes, and isolation is crucial as some listeners will try to update the same document at the same time. What's your suggestion between Couchbase and MongoDB? Thanks!

See more
Replies (2)
Jon Clarke
Enterprise Account Exec at ScyllaDB · | 4 upvotes · 40.3K views

I am biased (work for Scylla) but it sounds like a KV/wide column would be better in this use case. Document/schema free/lite DBs data stores are easier to get up and running on but are not as scalable (generally) as NoSQL flavors that require a more rigid data model like ScyllaDB. If your data volumes are going to be 10s of TB and transactions per sec 10s of 1000s (or more), look at Scylla. We have something called lightweight transactions (LWT) that can get you consistency.

See more
Recommends
MongoDBMongoDB

I have found MongoDB highly consistent and highly available. It suits your needs. We usually trade off partion tolerance fot this. Having said that, I am little biased in recommendation as I haven't had much experience with couchbase on production.

See more
Needs advice
on
PostgreSQLPostgreSQLMySQLMySQL
and
MongoDBMongoDB

I'm planning to build a freelance marketplace website, using tools like Next.js, Firebase Authentication, Node.js, but I need to know which type of database is suitable with performance and powerful features. I'm trying to figure out what the best stack is for this project. If anyone has advice please, I’d love to hear more details. Thanks.

See more
Replies (3)
malekmfs
at Meam Software Engineering Group · | 9 upvotes · 87.3K views
Recommends
PostgreSQLPostgreSQL

Postgres and MySQL are very similar, but Mongo has differences in terms of storage type and the CAP theorem. For your requirement, I prefer Postgres (or MySQL) over MongoDB. Mongo gives you no schema which is not always good. on the other hand, it is more common in NodeJS community, so you may find more articles about Node-Mongo stuff. I suggest to stay with RDBMS if possible.

See more
Recommends
PostgreSQLPostgreSQLMySQLMySQL

This is a little about experience. Postgresql is fine. You can use either the related table structure or the json table structure.

See more
Ruslan Rayanov
Recommends
MySQLMySQL

We have a ready-made engine for the online exchange and marketplace. To customize it, you only need to know sql. Connecting any database is not a problem. https://falconspace.site/list/solutions

See more
Dennis Kraaijeveld
Needs advice
on
PostgreSQLPostgreSQLMongoDBMongoDB
and
ExpressJSExpressJS

For learning purposes, I am trying to design a dashboard that displays the total revenue from all connected webshops/marketplaces, displaying incoming orders, total orders, etc.

So I will need to get the data (using Node backend) from the Shopify and marketplace APIs, storing this in the database, and get the data from the back end.

My question is:

What kind of database should I use? Is MongoDB fine for storing this kind of data? Or should I go with a SQL database?

See more
Replies (3)
Arash JalaliGhalibaf
Software Engineer at Cafe Bazaar · | 10 upvotes · 120.4K views
Recommends
PostgreSQLPostgreSQL

Postgres is a solid database with a promising background. In the relational side of database design, I see Postgres as an absolute; Now the arguments and conflicts come in when talking about NoSQL data types. The truth is jsonb in Postgres is efficient and gives a good performance and storage. In a comparison with MongoDB with the same resources (such as RAM and CPU) with better tools and community, I think you should go for Postgres and use jsonb for some of the data. All in all, don't use a NoSQL database just cause you have the data type matching this tech, have both SQL and NoSQL at the same time.

See more
Recommends
MongoDBMongoDB

I have found MongoDB easier to work with. Postgres and SQL in general, in my experience, is harder to work with. While Postgres does provide data consistency, MongoDB provides flexibility. I've found the MongoDB ecosystem to be really great with a good community. I've worked with MongoDB in production and it's been great. I really like the aggregation system and using query operators such as $in, $pull, $push.

While my opinion may be unpopular, I have found MongoDB really great for relational data, using aggregations from a code perspective. In general, data types are also more flexible with MongoDB.

See more
Luciano Bustos
Senior Software Developer · | 1 upvotes · 110.5K views
Recommends
PostgreSQLPostgreSQL

I will use PostgreSQL because you have more powerfull feature for data agregation and views (the raw data from shopify and others could be stored as is) and then use views to produce diff. kind of reports unless you wanna create those aggregations/views in nodejs code. HTH

See more
Krunal Shah
Full Stack Developer at Infynno Solutions · | 7 upvotes · 128.1K views
Needs advice
on
PostgreSQLPostgreSQL
and
MongoDBMongoDB

I want to store the data retrieved from multiple APIs and perform some analytics on it. The data stored in DB will never/hardly change. First, I thought it would be better to retrieve the data and create table columns for them, but some data might have different columns than others. So I thought about storing the JSON response from API directly to the table and use it. So which database will be the better choice, PostgreSQL or MongoDB.

See more
Replies (6)
Nikhil Gurnani
Sr. Backend Engineer at Grappus · | 8 upvotes · 120.4K views
Recommends
MongoDBMongoDB

Hey Krunal, your requirement sounds pretty clear and specific to what you want to do with that data. My recommendation to you, would be to use MongoDB. Since schema-less IO is faster in MongoDB, your general speed of reading / writing from and to the database would be quick. Additionally, the aggregate framework is very powerful with large data so that is also something that you can use in computing your analytics.

See more
Maxim Ryakhovskiy
Recommends
MongooseMongooseMongoDBMongoDB

I suggest you to go with MongoDB, because it is schema-less, i.e., it permits you to easily manipulate the schema of a table. If you want to add a column, it can be done without much effort. Moreover, MongoDB can deal with more types of data, since the latest is stored as key-value pair. I do not what kind of analysis you are going to do, but NoSQL is not the best choice if you are going to use complex queries. In addition, if you are working with huge amount of data and you are interested in optimising the performance, I suggest you PostgreSQL. Since you are speaking about API and JSON, I guess that you may using Node JS for fetching API. I suggest you to try Mongoose, which facilitate the use of MongoDB with Node JS.

See more
Bob Bass
President & Full Stack Enginee at Narro, LLC · | 3 upvotes · 116.4K views
Recommends
PostgreSQLPostgreSQLMySQLMySQL

This is largely a matter of opinion. I see that someone else responded and recommended MongoDB but since you are doing data analytics, I highly recommend you go with SQL. You're going to have a really hard time normalizing the data when you can't manipulate relationships and bulk edit with a nice update query.

I'm much more experienced with MySQL than any other database and I am having a hard time getting on board with noSQL entirely because it's really hard to query complex data with relationships using noSQL. I'm using Firestore with one of my apps and MongoDB with another app but they both use MySQL for the heavy lifting and then a document database for things like permissions, caching, etc.

It sounds like the type of problem you need to reverse engineer. I'm sure you can imagine what the data sets would look like if you use MongoDB or Postgres. I suspect that putting in a little bit more work up front will pay high dividends and productivity once the data is normalized.

Again - it's largely a matter of preference but I prefer SQL almost every time.

See more
Tarun Batra
Back End Developer at instabox · | 3 upvotes · 116.6K views

Looks like the use case is to store JSON data. mongoDB and Postgres differ in so many aspects like scaling and consistency. Postgres has excellent JSON support now with the power of SQL. MongoDB is good in handling schema less data. However in this case it seems these differences don’t matter that much. I’d recommend you go with what you are most comfortable with.

See more
Luiz H. Rapatão
Tech Lead at rapatao.com · | 3 upvotes · 116.5K views
Recommends
MongoDBMongoDB

I don't have an unquestionable opinion regarding your use case. I only trend to pick the MongoDB since it is schemaless avoiding null columns that you not always know when it is used (it depends on the source of the data). The only drawback that I could consider is the query's complexity in MongoDB, sometimes it is a bit tricky, when compared to the traditional SQL queries.

See more
Recommends
MongoDBMongoDB

MongoDB should be better for unstructured/less structured data.

See more
Decisions about MongoDB and PostgreSQL

I’m newbie I was developing a pouchdb and couchdb app cause if the sync. Lots of learning very little code available. I dropped the project cause it consumed my life. Yeats later I’m back into it. I researched other db and came across rethinkdb and mongo for the subscription features. With socketio I should be able to create and similar sync feature. Attempted to use mongo. I attempted to use rethink. Rethink for the win. Super clear l. I had it running in minutes on my local machine and I believe it’s supposed to scale easy. Mongo wasn’t as easy and there free online db is so slow what’s the point. Very easy to find mongo code examples and use rethink code in its place. I wish I went this route years ago. All that corporate google Amazon crap get bent. The reason they have so much power in the world is cause you guys are giving it to them.

See more

We started using PostgreSQL because there's no need to upgrade to an enterprise plan to access certain essential features. Postgres is essentially plug-and-play; you download it, install it, and there you go!

Another benefit of using Postgres is that you get to use SQL (Structured Query Language)—which isn't for everyone, but I enjoy how flexible and versatile it is.

Postgres also has point-in-time recovery, which you can export wherever you want—This means you can restore data from any given point in time. With this in mind, if you delete something accidentally, you can go back in time and grab said data without restoring the whole database.

Not to mention Postgres is remarkably fast with several thorough benchmarks comparing it to MongoDB, where Postgres mostly came out on top.

See more
Tjerk W
Founder at Impulz Technologies · | 13 upvotes · 39.8K views

As a startup, managing my own database, backups and even the schemas/migrations are all overhead. Next to that, I needed both Backend and Frontend ways to write to the database. With firebase this is possible, this saved us some time: Some API calls were not needed because I could directly fetch data in the FE.

Offline support & realtime data updates is also supported out of the box. No need to write your own websockets.

Once the startup grows, moving to a different relational database might make sense. But in a pre-product-market-fit startup, Firebase is a good, and cheaper fit!

The pricing model of firebase firestore is a bit risky. But it saves a lot of time to get quickly to market.

See more

We will be getting data in the form of CSVs. Because the data in a CSV is highly structured, it will be easy to create schemas and it works well in a SQL database as opposed to noSQL. For a SQL database, both mySQL and Postgres are very viable options. Both of them are highly performant, definitely enough for our application, even if we needed to scale drastically. Postgres does include some extra features over mySQL such as table inheritance and function overloading. However, the extra features are not advantageous to us given our database use case. Because both databases seemed to suit our use case perfectly, we chose to use mySQL simply because it is more familiar tech within our team.

See more

One of our biggest technical pillars is to "let the pros manage it", thus we settled on using Heroku PostgreSQL to manage our SQL cluster. We can take advantage of the free tier and the requests will be fast since it is integrated into Heroku. PostgreSQL also support Full text search which can come into handy with manually searching through the tables.

See more

All the benefits of relational joins and constraints, with JSON field types in Postgres to allow for flexibility like mongo. Objection ORM makes query building seamless and abstracts away a lot of complexity of SQL queries.

MongoDB tends to get slow with scale and requires a lot of code to maintain consistency across collections as foreign keys and other constraints are harder to implement. PostgreSQL also has a vibrant community with battle tested stability and horizontal scalability when needed.

See more
Nithin f

I was looking into PostgreSQL for a database option solely for the reason that it was popular, had good community support, and was used by many companies planning to develop social media platforms similar to Calosmic.

  1. However, I was very unfamiliar with relational databases and had only gotten acquainted with the basics of column-family database models with technologies like SqlLite3.

  2. Furthermore, I had already been using MongoDB, a document-based database, in a previous project so I was looking for options similar to the aforementioned technology.

  3. Last but not least, I wasn't all too into having to manage my database; I wanted to have a place to store my data, and be able to effectively query, and mutate the data without the hassle of learning SQL or maintaining an entire database. I found out about FaunaDB a couple of weeks ago and was very excited about the native GraphQL support, a combination of both document-based and relational database models, and the low-maintenance structure of the database. I am currently experimenting with using FaunaDB in my stack :)

  • One disadvantage I noticed while using FaunaDB and GraphQL is the lack of certain features that one expects when using the latter. Even though FaunaDB has native support for GraphQL it seems as if it's missing numerous features that are commonplace in the language such as unions and interfaces.
See more
Usman Sadiq
Student at University of Toronto · | 8 upvotes · 60.4K views
Migrated
from
PostgreSQLPostgreSQL
to
MongoDBMongoDB

MongoDB's document-oriented paradigm is nicely suited to the results of our ML model. We felt that this compatibility offered some time savings on figuring out and implementing an extensive data formatting and processing system. MongoDB's flexible schemas schemas (due to it being non-relational) were also attractive as a source of additional agility for our development process. The MongoDB ecosystem also has great GUI tools to simplify testing.

See more

Backend:

  • Considering that our main app functionality involves data processing, we chose Python as the programming language because it offers many powerful math libraries for data-related tasks. We will use Flask for the server due to its good integration with Python. We will use a relational database because it has good performance and we are mostly dealing with CSV files that have a fixed structure. We originally chose SQLite, but after realizing the limitations of file-based databases, we decided to switch to PostgreSQL, which has better compatibility with our hosting service, Heroku.
See more
Anthony Simon

I try to follow the 80-20 rule when it comes to my choice of tools. This means my stack consists of about 80% software I already know well, but I do allow myself 20% of the stack to explore tech I have less experience with.

The exact ratio is not what’s important here, it’s more the fact that you should lean towards using proven technologies.

I wrote more about this on my blog post on Choosing Boring Technology: https://panelbear.com/blog/boring-tech/

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of MongoDB
Pros of PostgreSQL
  • 828
    Document-oriented storage
  • 593
    No sql
  • 549
    Ease of use
  • 465
    Fast
  • 408
    High performance
  • 256
    Free
  • 215
    Open source
  • 180
    Flexible
  • 143
    Replication & high availability
  • 110
    Easy to maintain
  • 42
    Querying
  • 38
    Easy scalability
  • 37
    Auto-sharding
  • 36
    High availability
  • 31
    Map/reduce
  • 27
    Document database
  • 25
    Full index support
  • 25
    Easy setup
  • 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
  • 3
    Drivers support is good
  • 3
    Aggregation Framework
  • 3
    Support for many languages through different drivers
  • 2
    Awesome
  • 2
    Schemaless
  • 2
    Managed service
  • 2
    Fast
  • 2
    Easy to Scale
  • 1
    Consistent
  • 1
    Acid Compliant
  • 754
    Relational database
  • 508
    High availability
  • 436
    Enterprise class database
  • 380
    Sql
  • 303
    Sql + nosql
  • 171
    Great community
  • 145
    Easy to setup
  • 130
    Heroku
  • 128
    Secure by default
  • 112
    Postgis
  • 48
    Supports Key-Value
  • 46
    Great JSON support
  • 32
    Cross platform
  • 30
    Extensible
  • 26
    Replication
  • 24
    Triggers
  • 22
    Rollback
  • 21
    Multiversion concurrency control
  • 20
    Open source
  • 17
    Heroku Add-on
  • 14
    Stable, Simple and Good Performance
  • 13
    Powerful
  • 12
    Lets be serious, what other SQL DB would you go for?
  • 9
    Good documentation
  • 7
    Scalable
  • 7
    Intelligent optimizer
  • 6
    Reliable
  • 6
    Transactional DDL
  • 6
    Modern
  • 5
    Free
  • 5
    One stop solution for all things sql no matter the os
  • 4
    Relational database with MVCC
  • 3
    Faster Development
  • 3
    Full-Text Search
  • 3
    Developer friendly
  • 2
    Excellent source code
  • 2
    search
  • 2
    Great DB for Transactional system or Application
  • 1
    Full-text
  • 1
    Free version
  • 1
    Open-source
  • 1
    Text

Sign up to add or upvote prosMake informed product decisions

Cons of MongoDB
Cons of PostgreSQL
  • 6
    Very slowly for connected models that require joins
  • 3
    Not acid compliant
  • 1
    Proprietary query language
  • 9
    Table/index bloatings

Sign up to add or upvote consMake informed product decisions

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.

What is 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.

Need advice about which tool to choose?Ask the StackShare community!

Jobs that mention MongoDB and PostgreSQL as a desired skillset
CBRE
Dallas - Texas - United States of America, Richardson - Texas - United States of America
CBRE
- US - United States of America
CBRE
Dallas - Texas - United States of America, Richardson - Texas - United States of America
What companies use MongoDB?
What companies use PostgreSQL?
See which teams inside your own company are using MongoDB or PostgreSQL.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with MongoDB?
What tools integrate with PostgreSQL?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Dec 8 2020 at 5:50PM

DigitalOcean

GitHubMySQLPostgreSQL+11
2
2071
Nov 20 2019 at 3:38AM

OneSignal

PostgreSQLRedisRuby+8
8
4112
Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
1881
What are some alternatives to MongoDB and PostgreSQL?
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.
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.
Elasticsearch
Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack).
See all alternatives