Doctrine MongoDB ODM's documentation!
=====================================

The Doctrine MongoDB ODM documentation is comprised of tutorials, a reference section and
cookbook articles that explain different parts of the Object Document mapper.

Getting Help
------------

If this documentation is not helping to answer questions you have about
Doctrine MongoDB ODM don't panic. You can get help from different sources:

-  The `Doctrine Mailing List <http://groups.google.com/group/doctrine-user>`_
-  Internet Relay Chat (IRC) in `#doctrine on Freenode <irc://irc.freenode.net/doctrine>`_
-  Report a bug on `GitHub <https://github.com/doctrine/mongodb-odm/issues>`_.
-  On `StackOverflow <http://stackoverflow.com/questions/tagged/doctrine-odm>`_

Getting Started
---------------

  :doc:`Getting Started <tutorials/getting-started>` |
  :doc:`Introduction <reference/introduction>` |
  :doc:`Architecture <reference/architecture>`

Mapping Objects onto a Database
-------------------------------

* **Basic Reference**:
  :doc:`Objects and Fields <reference/basic-mapping>` |
  :doc:`References <reference/reference-mapping>` |
  :doc:`Bi-Directional References <reference/bidirectional-references>` |
  :doc:`Complex References <reference/complex-references>` |
  :doc:`Indexes <reference/indexes>` |
  :doc:`Inheritance <reference/inheritance-mapping>`

* **Embedded Data**:
  :doc:`Embedded <reference/embedded-mapping>` |
  :doc:`Trees <reference/trees>`

* **GridFS**:
  :doc:`Storing Files in GridFS <reference/storing-files-with-mongogridfs>`

* **Mapping Driver References**:
  :doc:`XML <reference/xml-mapping>` |
  :doc:`YAML <reference/yml-mapping>` |
  :doc:`Docblock Annotations <reference/annotations-reference>` |
  :doc:`Metadata Drivers <reference/metadata-drivers>`

Working with Objects
--------------------

* **Basic Reference**:
  :doc:`Documents <reference/working-with-objects>` |
  :doc:`Repositories <reference/document-repositories>` |
  :doc:`Events <reference/events>` |
  :doc:`Migrations <reference/migrating-schemas>`

* **Query Reference**:
  :doc:`Query Builder API <reference/query-builder-api>` |
  :doc:`Aggregation Pipeline queries <reference/aggregation-builder>` |
  :doc:`Geo Spatial Queries <reference/geospatial-queries>` |
  :doc:`Slave Okay Queries <reference/slave-okay-queries>` |
  :doc:`Find and Update <reference/find-and-update>` |
  :doc:`Filters <reference/filters>` |
  :doc:`Priming References <reference/priming-references>` |
  :doc:`Eager Cursors <reference/eager-cursors>` |
  :doc:`Map Reduce <reference/map-reduce>`

Advanced Topics
---------------

* **Collections**:
  :doc:`Capped Collections <reference/capped-collections>` |
  :doc:`Storage Strategies <reference/storage-strategies>` |
  :doc:`Custom Collections <reference/custom-collections>` |
  :doc:`Sharded setups <reference/sharding>`

* **Transactions and Concurrency**:
  :doc:`Transactions and Concurrency <reference/transactions-and-concurrency>`

* **Best Practices**:
  :doc:`Best Practices <reference/best-practices>`

* **Performance**:
  :doc:`Change Tracking Policies <reference/change-tracking-policies>`

* **Logging**:
  :doc:`Logging <reference/logging>`

Cookbook
--------

* **Examples**:
  :doc:`Soft Delete <cookbook/soft-delete-extension>` |
  :doc:`Simple Search Engine <cookbook/simple-search-engine>`

* **Tricks**:
  :doc:`Blending ORM and MongoDB ODM <cookbook/blending-orm-and-mongodb-odm>` |
  :doc:`Mapping classes to ORM and ODM <cookbook/mapping-classes-to-orm-and-odm>`

* **Implementation**:
  :doc:`Array Access <cookbook/implementing-array-access-for-domain-objects>` |
  :doc:`Notify ChangeTracking Example <cookbook/implementing-the-notify-changetracking-policy>` |
  :doc:`Using Wakeup Or Clone <cookbook/implementing-wakeup-or-clone>` |
  :doc:`Validation <cookbook/validation-of-documents>` |
  :doc:`Simple Search Engine <cookbook/simple-search-engine>` |
  :doc:`Keeping Your Modules Independent <cookbook/resolve-target-document-listener>`
