W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
(mongoDB >=1.0.0)
MongoDB\Driver\Command 類是一個值對象 表示數(shù)據(jù)庫命令。
若要提供命令幫助程序,應(yīng)編寫 MongoDB\Driver\Command 對象。
final class MongoDB\Driver\Command {
/* 方法 */
final public __construct(array|object $document, ?array $commandOptions = null)
}
示例 #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) }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: