=========
Use Cases
=========

The use case documents introduce the patterns, designs,
and operations used in application development with MongoDB. Each
document provides concrete examples and implementation details to
support core MongoDB `use cases`_. These documents highlight
application design, and data modeling strategies (*i.e. schema
design*) for MongoDB with special attention to pragmatic
considerations including indexing, performance, sharding, and
scaling. Each document is distinct and can stand alone; however, each
section builds on a set of common examples and general use cases.

The *operational intelligence* case studies describe applications that
collect machine generated data from logging systems, application
output, and other systems. The *product data management* case studies
address aspects of applications required for building product
catalogs, and managing inventory in e-commerce systems. Finally, the
*content management* case studies introduce basic patterns and
techniques for building content management systems using MongoDB.

.. _`use cases`: http://www.mongodb.com/use-cases

.. introduction-ends-here ..

Operational Intelligence
------------------------

As an introduction to the use of MongoDB for operational intelligence
and real time analytics use, the document ":doc:`/use-cases/storing-log-data`"
describes several ways and approaches to modeling and storing
machine generated data with MongoDB. ":doc:`/use-cases/hierarchical-aggregation`"
presents a method for using MongoDB to process and store hierarchical
reports (i.e. per-minute, per-hour, and per-day) from raw event data.

.. toctree::
   :titlesonly:

   /use-cases/storing-log-data
   /use-cases/hierarchical-aggregation

Product Data Management
-----------------------

MongoDB's flexible schema makes it particularly well suited to storing
information for product data management and e-commerce websites and
solutions. The ":doc:`/use-cases/product-catalog`" document describes
methods and practices for modeling and managing a product catalog
using MongoDB, while the ":doc:`/use-cases/inventory-management`"
document introduces a pattern for handling interactions between
inventory and users' shopping carts. Finally the
":doc:`/use-cases/category-hierarchy`" document describes methods for
interacting with category hierarchies in MongoDB.

.. toctree::
   :titlesonly:

   /use-cases/product-catalog
   /use-cases/inventory-management
   /use-cases/category-hierarchy

Content Management Systems
--------------------------

The content management use cases introduce fundamental MongoDB
practices and approaches, using familiar problems and simple
examples. The ":doc:`/use-cases/metadata-and-asset-management`"
document introduces a model that you may use when designing a web site
content management system, while ":doc:`/use-cases/storing-comments`"
introduces the method for modeling user comments on content, like blog
posts, and media, in MongoDB.

.. toctree::
   :titlesonly:

   /use-cases/metadata-and-asset-management
   /use-cases/storing-comments
   /use-cases/http-interfaces

.. toctree::
   :titlesonly:
   :hidden:

   /use-cases/client-side-field-level-encryption-guide
   /use-cases/client-side-field-level-encryption-local-key-to-kms
