Zend Framework 2 Module for Doctrine MongoDB ODM
Latest commit 735e6aa May 13, 2017 @alcaeus alcaeus Merge pull request #186 from alcaeus/phpcs-configuration
Add phpcs config
Failed to load latest commit information.
doc use PHP7 compatible annotation in user guide example Feb 10, 2017
tests Create phpcs config May 13, 2017
view/zend-developer-tools/toolbar Fix Github fork link Jan 16, 2014
.gitignore Create phpcs config May 13, 2017
.travis.yml Fix tests May 13, 2017
CHANGELOG.md Add changelog for 1.0 May 13, 2017
LICENSE Updating license from LGPL to MIT May 31, 2012
README.md Update installation instructions May 13, 2017
composer.json Update to latest phpcs version May 13, 2017
composer.lock Update to latest phpcs version May 13, 2017
phpcs.xml.dist Create phpcs config May 13, 2017
phpunit.xml.dist ZF3 compatibility, PHP5.5 support dropped Jul 26, 2016


Doctrine MongoDB ODM Module for Zend Framework 2

Master: Build Status

The DoctrineMongoODMModule integrates Doctrine 2 MongoDB ODM with Zend Framework 2 quickly and easily. The following features are intended to work out of the box:

  • MongoDB support
  • Multiple document managers
  • Multiple connections
  • Support for using existing Mongo connections
  • Doctrine Cli support


Zend Framework 2 Application Skeleton (or compatible architecture)


Installation of this module uses composer. For composer documentation, please refer to getcomposer.org.

Installation steps

  1. cd my/project/directory

  2. create a composer.json file with following contents:

        "require": {
            "doctrine/doctrine-mongo-odm-module": "^1.0"
  3. install composer via curl -s http://getcomposer.org/installer | php (on windows, download http://getcomposer.org/installer and execute it with PHP)

  4. run php composer.phar install

  5. open my/project/directory/configs/application.config.php and add following keys to your modules (in this order)

  6. copy vendor/doctrine/doctrine-mongo-odm-module/config/module.doctrine-mongo-odm.local.php.dist into your application's config/autoload directory, rename it to module.doctrine-mongo-odm.local.php and make the appropriate changes. With this config file you can configure your mongo connection, add extra annotations to register, add subscribers to the event manager, add filters to the filter collection, and drivers to the driver chain.

  7. create directory my/project/directory/data/DoctrineMongoODMModule/Proxy and my/project/directory/data/DoctrineMongoODMModule/Hydrator and make sure your application has write access to it.


Command Line

Access the Doctrine command line as following


Service Locator

Access the document manager using the following service manager alias:

$dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default');


Connection section

Either server or connectionString option has to be set.

Name Default Description
server 'localhost' IP of mongod instance
port 27017 mongod port
connectionString null If the connection string is specified, it will overwrite other connection options (server,port,user,password,dbname). Still, the connection will respect the settings passed in options array.
user null If set, the client will try to authenticate with given username and password
password null If set, the client will try to authenticate with given username and password
dbname null If dbname is not specified, "admin" will be used for authentication. Also, specifiing dbname affecs the defaultDB configuration option, if that's not specified explicitly.
options array() Array with connection options. More detailed description in http://www.php.net/manual/en/mongoclient.construct.php