I am working on an application that will store customer data in MongoDB atlas M10 Dedicated Cluster. I am considering creating a new MongoDB database for each customer where the database name is the customer's uuid. I like this approach because of the following :
- It keeps each customer's data encapsulated
- If we need to remove a customer we can easily do so
- We are not worried about duplicate data because each customer will have their own unique data
- MongoDB doesn't seem to care how many Databases I create when using a M10 (or higher) Dedicated Cluster. Link1 and Link2 seem to support this claim
- Connecting a customer to the correct database shouldn't be an issue in the API layer because we'll have the customer's uuid upon their login into the application.
The limitations for a M10 dedicated cluster are documented in these mongodb docs. I don't anticipate going over the 5000 Collection & Index limit. I also do not anticipate going over the 1500 connection limit (I interpreted this as simultaneous connections).
Is this a good approach? Am I overlooking some performance or anti-pattern issue?