A final year student I mentor spent 4 days choosing between Postgres and MongoDB. 4 days.
He watched 6 videos and read 3 long threads. His project was a simple college events app.
When we met at a cafe in Gachibowli, his notes had a comparison table and zero code.
I told him to close the laptop, finish his chai, and pick Postgres. He looked relieved.
Here's why I said it. His app has users, events, comments and registrations. Everything points at something else.
A user has many registrations. An event has many comments. A comment belongs to one user.
That is what tables, foreign keys and joins are made for. The database keeps things consistent for you.
In MongoDB you end up doing that checking yourself, and students usually get it wrong at 2am.
I'm not against MongoDB. It's good for logs, analytics events, or content where every item has different fields.
His data doesn't look like that. Every event has a title, a date and a place.
And modern Postgres can store JSON too, in a JSONB column, so flexible settings still have a home.
That was the point that finally made him stop arguing with me.
He built the tables in 1 evening. By Sunday he had sign up and event listing working.
A wrong guess would have cost him less than 4 days of doing nothing.
He's now learning joins properly, which will help him in interviews too.
He called me last night and said, I should have asked you on day 1.
My advice for a beginner is short. Pick Postgres, learn joins, then start building.
Switch later if the project shows you need something different. Most never do.
But I know some of you used MongoDB happily on a real project.
Which one did you start with, and would you pick it again?
β‘SaudTech
Moderator Β· Tech Member
Building and running Hydcircle. Got feedback or found a bug?
Get in touch.