Php/docs/class.mongodb-driver-command
(mongodb >=1.0.0)
简介
The MongoDB\Driver\Command class is a value object that represents a database command.
To provide “Command Helpers” the MongoDB\Driver\Command object should be composed.
类摘要
final MongoDB\Driver\Command {
final public __construct
( array|object $document
[, array $commandOptions
] )
}
范例
Example #1 Composing MongoDB\Driver\Command to provide a helper to create collections
<?phpclass CreateCollection { protected $cmd = array(); function __construct($collectionName) { $this->cmd["create"] = (string)$collectionName; } function setCappedCollection($maxBytes, $maxDocuments = false) { $this->cmd["capped"] = true; $this->cmd["size"] = (int)$maxBytes; if ($maxDocuments) { $this->cmd["max"] = (int)$maxDocuments; } } function usePowerOf2Sizes($bool) { if ($bool) { $this->cmd["flags"] = 1; } else { $this->cmd["flags"] = 0; } } function setFlags($flags) { $this->cmd["flags"] = (int)$flags; } function getCommand() { return new MongoDB\Driver\Command($this->cmd); } function getCollectionName() { return $this->cmd["create"]; }}$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");$createCollection = new CreateCollection("cappedCollection");$createCollection->setCappedCollection(64 * 1024);try { $command = $createCollection->getCommand(); $cursor = $manager->executeCommand("databaseName", $command); $response = $cursor->toArray()[0]; var_dump($response); $collstats = ["collstats" => $createCollection->getCollectionName()]; $cursor = $manager->executeCommand("databaseName", new MongoDB\Driver\Command($collstats)); $response = $cursor->toArray()[0]; var_dump($response);} catch(MongoDB\Driver\Exception $e) { echo $e->getMessage(), "\n"; exit;}?>
以上例程会输出:
object(MongoDB\Driver\Command)#3 (1) {
["command"]=>
array(3) {
["create"]=>
string(16) "cappedCollection"
["capped"]=>
bool(true)
["size"]=>
int(65536)
}
}
array(1) {
["ok"]=>
float(1)
}
array(16) {
["ns"]=>
string(29) "databaseName.cappedCollection"
["count"]=>
int(0)
["size"]=>
int(0)
["numExtents"]=>
int(1)
["storageSize"]=>
int(65536)
["nindexes"]=>
int(1)
["lastExtentSize"]=>
float(65536)
["paddingFactor"]=>
float(1)
["paddingFactorNote"]=>
string(101) "paddingFactor is unused and unmaintained in 2.8. It remains hard coded to 1.0 for compatibility only."
["userFlags"]=>
int(0)
["capped"]=>
bool(true)
["max"]=>
int(9223372036854775807)
["maxSize"]=>
int(65536)
["totalIndexSize"]=>
int(8176)
["indexSizes"]=>
object(stdClass)#4 (1) {
["_id_"]=>
int(8176)
}
["ok"]=>
float(1)
}
Table of Contents
- MongoDB\Driver\Command::__construct — Create a new Command
/* 方法 */