/**
* @return DocumentManager
*/
private function connect()
{
$config = new Configuration();
$config->setProxyDir($this->app['cache']['doctrine'] . '/mongodb/proxy');
$config->setProxyNamespace('Proxies');
$config->setHydratorDir($this->app['cache']['doctrine'] . '/mongodb/hydrators');
$config->setHydratorNamespace('Hydrators');
$anno = [];
foreach ($this->config['modules'] as $app) {
$dir = $this->app['BASE_DIR'] . $this->app['Modules'] . $app . '/Document';
if (file_exists($dir)) {
$anno[] = $dir;
}
}
$driverImpl = $config->newDefaultAnnotationDriver($anno);
$config->setMetadataDriverImpl($driverImpl);
$config->setDefaultDB($this->config['database']['name']);
$config->setDefaultCommitOptions(array('safe' => true, 'fsync' => true));
return DocumentManager::create(new Connection($this->config['database']['host']), $config);
}