Ask HN: Why are you using MongoDB?
After postgres has implemented JSON/JSONB support, I feel like there is no need to use mongodb and the likes. Given all other benefits of postgres (acid, tooling etc) it feels overall it's better suited for cases where you'd use mongo for.
I heard stories where people would just start with mongo and eventually migrate to more mature tech as they go, but that need seem to have evaporated.
Thoughts?
8 comments
[ 3.8 ms ] story [ 28.4 ms ] threadSomeone pointed that out to me when I answered a question dismissing mongo.
1. Because Postgres support for complex JSON queries are sub par compared to MongoDB
2. When I did use MongoDB it was with C#. The Mongo Linq driver is excellent. You write standard Linq queries and it gets translated to MongoQuery. You use standard C# POCO objects and the compiler ensures a consistent “schema”.
Did mongo linq driver support everything linq supported? I assume joins would not be or other complex things you'd otherwise use with rdbms.
On postgres + linq + document db - check: https://martendb.io/documentation/documents/querying/linq/
https://www.axonize.com/blog/iot-technology/joining-collecti...
The weird left join syntax for LINQ with Mongo is endemic to how LINQ does left joins even with an RDMS. Yeah it’s obtuse.
I watched videos by Julie Lerman and since then I learned that any time you do an explicit join with EF, you’re probably doing it wrong.
I haven’t used Mongo in years , but I would be surprised if there isn’t some type of annotation that you could do on a class to tell the driver how to map the relationships so it would do it implicitly.
My recent experience with DynamoDB best practices though is that is usually a smell when you try to bring over relational thinking to a NoSQL database and you should carefully think about your design decisions.