phpmongodbdoctrineodm

Doctrine MongoDB use without ODM


I am using Doctrine MongoDB within Symfony2, but now I want to do some things which for me are easier without the ODM, how can I get the MongoClient or MongoCollection object?

I want to use MongoDB in the old-fashioned way like: http://php.net/manual/en/mongocollection.find.php


Solution

  • You can get the MongoClient from the DocumentManager using

    $mongoClient = $dm->getConnection()->getMongo();
    

    Similarly, you can get a MongoCollection instance for document class className using

    $mongoCollection = $dm->getDocumentCollection('className')->getMongoCollection();
    

    or more simply

    $mongoCollection = $dm->getConnection()->getMongo()
        ->selectCollection('collectionName');