MongoDB is mostly used as the primary data store for operational applications with real-time requirements . MongoDB is easy to operate and scale in ways that are hard if not impossible with relational databases.
In many use cases where relational databases aren’t a good fit, like applications with unstructured, semi-structured and polymorphic data, as well as applications with large scalability requirements or multi-data center deployments so in that case MongoDB is the best option to choose.
MongoDB may not be a good fit for some applications. For example, applications that require complex transactions and scan-oriented applications that access large subsets of the data most of the time may not be a good fit for MongoDB. MongoDB is not a drop-in replacement for legacy applications built around the relational data model and SQL.
Some common use cases include mobile apps, product catalogs, real-time personalization, content management, logging and applications delivering a single view across multiple systems.