本文整理汇总了PHP中Doctrine\ODM\MongoDB\MongoDBException::failedToEnableSharding方法的典型用法代码示例。如果您正苦于以下问题:PHP MongoDBException::failedToEnableSharding方法的具体用法?PHP MongoDBException::failedToEnableSharding怎么用?PHP MongoDBException::failedToEnableSharding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ODM\MongoDB\MongoDBException
的用法示例。
在下文中一共展示了MongoDBException::failedToEnableSharding方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: enableShardingForDbByDocumentName
/**
* Enable sharding for database which contains documents with given name.
*
* @param string $documentName
*
* @throws MongoDBException
*/
public function enableShardingForDbByDocumentName($documentName)
{
$dbName = $this->dm->getDocumentDatabase($documentName)->getName();
$adminDb = $this->dm->getConnection()->selectDatabase('admin');
$result = $adminDb->command(array('enableSharding' => $dbName));
if ($result['ok'] != 1 && $result['errmsg'] !== 'already enabled') {
throw MongoDBException::failedToEnableSharding($dbName, $result['errmsg']);
}
}
示例2: enableShardingForDbByDocumentName
/**
* Enable sharding for database which contains documents with given name.
*
* @param string $documentName
*
* @throws MongoDBException
*/
public function enableShardingForDbByDocumentName($documentName)
{
$dbName = $this->dm->getDocumentDatabase($documentName)->getName();
$adminDb = $this->dm->getConnection()->selectDatabase('admin');
$result = $adminDb->command(array('enableSharding' => $dbName));
// Error code is only available with MongoDB 3.2. MongoDB 3.0 only returns a message
// Thus, check code if it exists and fall back on error message
if ($result['ok'] == 1 || isset($result['code']) && $result['code'] == 23 || $result['errmsg'] == 'already enabled') {
return;
}
throw MongoDBException::failedToEnableSharding($dbName, $result['errmsg']);
}