Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

ZF 2.2 & MongoDB

Pagina: 1
Acties:

  • Mattijs.id
  • Registratie: December 2011
  • Laatst online: 21:07
Hoi Tweakers.

Ben aan het proberen MongoDB aan de praat te krijgen, alleen wil dit niet zo lekker lopen.

Wat heb ik al gedaan?

Ik heb middels composor de mongodb Module geinstalleerd (github). Vervolgens in [projectroot]/config/application.config:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'DoctrineModule',
'DoctrineMongoODMModule',

....
...
en onderin...
..

 'service_manager' => array(
        'factories' => array(
            'model' => function($serviceManager){
                $dm = new DoctrineMongoODMModule\Service\DocumentManagerFactory('dm');
                return $dm->createService('doctrine.documentmanager.odm_default');
            }
        )
    ),


Vervolgens in [projectroot]/data/DoctrineMongoODMModule de mappen Hydrator en Proxy aangemaakt en schrijfbaar gemaakt voor de webserver.

Daarna in [projectroot]/config/autoload/module.doctrine-mongo-odm.local.php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
return array(
    'doctrine' => array(

        'connection' => array(
            'odm_default' => array(
                'server'    => 'localhost',
                'port'      => '27017',
                'user'      => null,
                'password'  => null,
                'dbname'    => 'album',
                'options'   => array()
            ),
        ),

        'configuration' => array(
            'odm_default' => array(
                'metadata_cache'     => 'array',

                'driver'             => array(),
                'generate_proxies'   => true,
                'proxy_dir'          => 'data/DoctrineMongoODMModule/Proxy',
                'proxy_namespace'    => 'DoctrineMongoODMModule\Proxy',

                'generate_hydrators' => true,
                'hydrator_dir'       => 'data/DoctrineMongoODMModule/Hydrator',
                'hydrator_namespace' => 'DoctrineMongoODMModule\Hydrator',

                'default_db'         => 'album',

                'filters'            => array(),  // array('filterName' => 'BSON\Filter\Class'),

                'logger'             => null // 'DoctrineMongoODMModule\Logging\DebugStack'
            )
        ),

        'driver' => array(
            'odm_default' => array(
//                'drivers' => array()
            )
        ),

        'documentmanager' => array(
            'odm_default' => array(
//                'connection'    => 'odm_default',
//                'configuration' => 'odm_default',
//                'eventmanager' => 'odm_default'
            )
        ),

        'eventmanager' => array(
            'odm_default' => array(
                'subscribers' => array()
            )
        ),
    ),
);


Ik krijg nu de melding
code:
1
An exception was raised while creating "doctrine.documentmanager.odm_default"; no instance returned


Terwijl ik die toch echt aanmaak & return.

Ook heb ik rondgekeken naar mogelijke alternatieven;

shanty @ github komt dan vrij snel naar boven.

Mijn vraag is: is het de moeite om dit proberen werkend te krijgen en zoja, hoe.

Of is b.v. iets als shanty of allicht nog een andere mogelijkheid een beter idee?

  • Cartman!
  • Registratie: April 2000
  • Niet online
In bovenstaande config is de 'doctrine.documentmanager.odm_default' toch ook leeg? Dat lijkt dus wel te kloppen met de melding die je krijgt...Wat gebeurt er als je die comments weghaalt?