MONGODBDRIVERCOMMAND(3) 1 MONGODBDRIVERCOMMAND(3)
The MongoDBDriverCommand class
INTRODUCTION
The MongoDBDriverCommand class is a value object that represents a database command.
To provide Command Helpers the MongoDBDriverCommand object should be composed.
CLASS SYNOPSIS
MongoDB.PP final
MongoDB.PP Methods
o finalpublic MongoDBDriverCommand::__construct (array|object $document)
EXAMPLES
Example #1
Composing MongoDBDriverCommand to provide a helper to create collections
<?php
class CreateCollection {
protected $cmd = array();
function __construct($collectionName) {
$this->cmd["create"] = (string)$collectionName;
}
function setAutoIndexId($bool) {
$this->cmd["autoIndexId"] = (bool)$bool;
}
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 MongoDBDriverCommand($this->cmd);
}
function getCollectionName() {
return $this->cmd["create"];
}
}
$manager = new MongoDBDriverManager("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 MongoDBDriverCommand($collstats));
$response = $cursor->toArray()[0];
var_dump($response);
} catch(MongoDBDriverException $e) {
echo $e->getMessage(), "
";
exit;
}
?>
The above example will output:
object(MongoDBDriverCommand)#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)
}
PHP Documentation Group MONGODBDRIVERCOMMAND(3)