Coming from the Drupal world, I’ve always been used to work with relational (SQL) databases. In my latest work on Humanitarian ID v2, I switched to a non-relational (NoSQL) database: mongoDB. This switch has some gotchas which I am explaining below.

Why NoSQL ?

The main reason for me to use mongoDB for Humanitarian ID was this: it scales better. Period. Scaling a relational database like mySQL is much harder than scaling a non-relational one like mongoDB. So when you need to think big numbers at the beginning of your project, you’re probably better off…