My company has been big into MongoDB over the past year. We've seen all kinds of MongoDB projects that we or our partners have worked on, so I figured it was worth stuffing them into a top 10 list, with the intent to enlighten those who still want to know which tasks might be best handled by the document flavor of NoSQL databases. The jobs we've encountered break down along these lines:
1. Profiles of people
Yes, LDAP is fine for identity when you're authenticating or authorizing, but what about profiling things or people that aren't strongly associated with the system? What about criminal records or child support suspects or customer rewards? What about users of promotions and what they clicked on? There's always new data to add to the user's profile, from the usual top-level stuff (phone, address, email, and so on) to information a layer below (such as phone type). Other database types haven't evolved fast enough to capture the hundred ways we contact each other or the dozens of ways we pay for things.
[ Work smarter, not harder with InfoWorld's roundup of tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
2. Product/catalog data
Way back when, I worked for a cellphone manufacturer (or two) and later a chemical company. Each had a weird version of the same problem: Products were composed of other products, and which products those were composed of changed over time and tended to have more than one brand or identifier. Capturing the thing that contains the thing that contains the thing is much simpler in a document database than in some other database types.
3. Geospatial data
This isn't necessarily because MongoDB is a great document database, but because it has specific geospatial features. Either way, MongoDB is your friend, whether you're calculating your bike ride distance or figuring out geospecific information about your customers.