/** * Returns the MongoCollection instance for a class. * * @param string $className The class name. * @return Doctrine\ODM\MongoDB\MongoCollection */ public function getDocumentCollection($className) { $metadata = $this->_metadataFactory->getMetadataFor($className); $collection = $metadata->getCollection(); $db = $metadata->getDB(); $key = $db . '.' . $collection; if ($collection && !isset($this->_documentCollections[$key])) { if ($metadata->isFile()) { $collection = $this->getDocumentDB($className)->getGridFS($collection); } else { $collection = $this->getDocumentDB($className)->selectCollection($collection); } $mongoCollection = new MongoCollection($collection, $metadata, $this); $this->_documentCollections[$key] = $mongoCollection; } if (!isset($this->_documentCollections[$key])) { throw MongoDBException::documentNotMappedToCollection($className); } return $this->_documentCollections[$key]; }
/** * Returns the MongoCollection instance for a class. * * @param string $className The class name. * @return Doctrine\MongoDB\Collection */ public function getDocumentCollection($className) { $metadata = $this->metadataFactory->getMetadataFor($className); $db = $metadata->getDatabase(); $collection = $metadata->getCollection(); if (!$collection) { throw MongoDBException::documentNotMappedToCollection($className); } $db = $this->getDocumentDatabase($className); if ($metadata->isFile()) { $collection = $db->getGridFS($collection); } else { $collection = $db->selectCollection($collection); } return $collection; }
/** * Returns the MongoCollection instance for a class. * * @param string $className The class name. * @return \Doctrine\MongoDB\Collection */ public function getDocumentCollection($className) { $metadata = $this->metadataFactory->getMetadataFor($className); $collection = $metadata->getCollection(); if (!$collection) { throw MongoDBException::documentNotMappedToCollection($className); } $db = $this->getDocumentDatabase($className); if (!isset($this->documentCollections[$className])) { if ($metadata->isFile()) { $this->documentCollections[$className] = $db->getGridFS($collection); } else { $this->documentCollections[$className] = $db->selectCollection($collection); } } $collection = $this->documentCollections[$className]; if (isset($metadata->slaveOkay)) { $collection->setSlaveOkay($metadata->slaveOkay); } return $this->documentCollections[$className]; }
/** * Returns the MongoCollection instance for a class. * * @param string $className The class name. * @throws MongoDBException When the $className param is not mapped to a collection * @return \Doctrine\MongoDB\Collection */ public function getDocumentCollection($className) { $className = ltrim($className, '\\'); $metadata = $this->metadataFactory->getMetadataFor($className); $collectionName = $metadata->getCollection(); if (!$collectionName) { throw MongoDBException::documentNotMappedToCollection($className); } if (!isset($this->documentCollections[$className])) { $db = $this->getDocumentDatabase($className); $this->documentCollections[$className] = $metadata->isFile() ? $db->getGridFS($collectionName) : $db->selectCollection($collectionName); } $collection = $this->documentCollections[$className]; if ($metadata->slaveOkay !== null) { $collection->setSlaveOkay($metadata->slaveOkay); } return $this->documentCollections[$className]; }