The MongoDB\Driver\Command class

(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

<?php
class 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

相关文章
php mongodb driver the mongodb driver command classphp mongodb driver exception the mongodb driver exception invalidargumentexception classphp mongodb driver exception the mongodb driver exception logicexception classphp mongodb driver exception the mongodb driver exception runtimeexception classphp mongodb driver exception the mongodb driver exception sslconnectionexception class deprecated php mongodb driver the mongodb driver writeconcern classphp mongodb driver the mongodb driver writeconcernerror classphp mongodb driver the mongodb driver writeerror classphp mongodb driver the mongodb driver writeresult classphp mongodb driver manager execute a database commandphp mongodb driver monitoring commandfailedevent returns the command s operation idphp mongodb driver monitoring commandfailedevent returns the command reply documentphp mongodb driver monitoring commandfailedevent returns the command s request idphp mongodb driver monitoring commandfailedevent returns the server on which the command was executedphp mongodb driver monitoring commandsucceededevent returns the command reply documentphp mongodb driver monitoring commandsucceededevent returns the command s request idphp mongodb driver monitoring commandsucceededevent returns the server on which the command was executedphp mongodb driver server execute a database command on this serverphp mongodb driver server execute a database command that reads on this serverphp mongodb driver server execute a database command that reads and writes on this server
关注编程学问公众号