Get a write connection
public static getWriteConnection ( string $connectionGroupName = 'default' ) : Shanty_Mongo_Connection | ||
$connectionGroupName | string | The connection group name |
return | Shanty_Mongo_Connection |
/** * @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')); }
/** * 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')); }
public static function getConnection($writable = true) { if ($writable) { $connection = Shanty_Mongo::getWriteConnection(static::getConnectionGroupName()); } else { $connection = Shanty_Mongo::getReadConnection(static::getConnectionGroupName()); } return $connection; }
/** * 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; }
/** * 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()); }