getWriteConnection() public static method

Get a write connection
public static getWriteConnection ( string $connectionGroupName = 'default' ) : Shanty_Mongo_Connection
$connectionGroupName string The connection group name
return Shanty_Mongo_Connection
Example #1
0
 /**
  * @depends testAddSlave
  */
 public function testGetReadConnection()
 {
     $connection = Shanty_Mongo::getReadConnection();
     $this->assertNotNull($connection);
     $this->assertEquals($connection, Shanty_Mongo::getWriteConnection());
     $connectionInfo = $connection->getConnectionInfo();
     $this->assertEquals('127.0.0.1', $connectionInfo['connectionString']);
     Shanty_Mongo::removeConnectionGroups();
     $connection = $this->getMock('Shanty_Mongo_Connection');
     Shanty_Mongo::addSlave($connection);
     $this->assertEquals($connection, Shanty_Mongo::getReadConnection());
     Shanty_Mongo::removeConnectionGroups();
     $connection = $this->getMock('Shanty_Mongo_Connection');
     Shanty_Mongo::addSlave($connection, 1, 'users');
     $this->assertEquals($connection, Shanty_Mongo::getReadConnection('users'));
 }
Example #2
0
 /**
  * Fetch an instance of MongoDb
  * 
  * @param boolean $writable
  * @return MongoDb
  */
 public function _getMongoDb($writable = true)
 {
     if (is_null($this->getConfigAttribute('db'))) {
         require_once 'Shanty/Mongo/Exception.php';
         throw new Shanty_Mongo_Exception('Can not fetch instance of MongoDb. Document is not connected to a db.');
     }
     if ($writable) {
         $connection = Shanty_Mongo::getWriteConnection($this->getConfigAttribute('connectionGroup'));
     } else {
         $connection = Shanty_Mongo::getReadConnection($this->getConfigAttribute('connectionGroup'));
     }
     return $connection->selectDB($this->getConfigAttribute('db'));
 }
Example #3
0
 public static function getConnection($writable = true)
 {
     if ($writable) {
         $connection = Shanty_Mongo::getWriteConnection(static::getConnectionGroupName());
     } else {
         $connection = Shanty_Mongo::getReadConnection(static::getConnectionGroupName());
     }
     return $connection;
 }
Example #4
0
 /**
  * Fetch an instance of MongoDb
  * 
  * @param boolean $writable
  * @return MongoDb
  */
 public function _getMongoDb($writable = true)
 {
     if (is_null($this->getConfigAttribute('db'))) {
         require_once 'Shanty/Mongo/Exception.php';
         throw new Shanty_Mongo_Exception('Can not fetch instance of MongoDb. Document is not connected to a db.');
     }
     if ($writable) {
         $connection = Shanty_Mongo::getWriteConnection($this->getConfigAttribute('connectionGroup'));
     } else {
         $connection = Shanty_Mongo::getReadConnection($this->getConfigAttribute('connectionGroup'));
     }
     $temp = $connection->selectDB($this->getConfigAttribute('db'));
     # Tells replica set how many nodes must have the data before success
     //		$temp->w = 2;
     return $temp;
 }
Example #5
0
 /**
  * Get an instance of MongoDb
  * 
  * @return MongoDb
  * @param boolean $useSlave
  */
 public static function getMongoDb($writable = true)
 {
     if (!static::hasDbName()) {
         require_once 'Shanty/Mongo/Exception.php';
         throw new Shanty_Mongo_Exception(get_called_class() . '::$_db is null');
     }
     if ($writable) {
         $connection = Shanty_Mongo::getWriteConnection(static::getConnectionGroupName());
     } else {
         $connection = Shanty_Mongo::getReadConnection(static::getConnectionGroupName());
     }
     return $connection->selectDB(static::getDbName());
 }