Justin Kredible
Justin Kredible

Reputation: 8414

MongoDB + Web App: Database per user

I'm in the process of evaluating MongoDB for a personal project. I'm putting together a site that will allow users to register and store information on my server.

While evaluating MongoDB I saw that it can create a database on the fly, the first time a record is inserted. That got me thinking that I could separate the data for each user into their own database. The database name will be derived from the user's unique id. After a user registers, the first time they store information their database will be created.

Does anyone know if this is a feasible design with MongoDB? Would it be better to simply store all user's data in a single database?

Upvotes: 11

Views: 3097

Answers (1)

Tyler Brock
Tyler Brock

Reputation: 30176

Yes, a single collection is better, that way you can use indexing to your advantage.

Iterating over a list of databases or collections will always take O(N) time whereas you could achieve O(log N) time to find individual documents using indexes.

Upvotes: 5

Related Questions