Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
MongoWriteBatch::add
(PECL mongo >= 1.5.0)
MongoWriteBatch::add — Adds a write operation to a batch
Описание
public bool MongoWriteBatch::add ( array $item )Adds a write operation to the batch.
If $item causes the batch to exceed the » maxWriteBatchSize or » maxBsonObjectSize limits, the driver will internally split the batches into multiple write commands upon calling MongoWriteBatch::execute().
Список параметров
item
- An array that describes a write operation. The structure of this value depends on the batch's operation type.Batch type | Argument expectation |
---|---|
MongoWriteBatch::COMMAND_INSERT | The document to add. |
MongoWriteBatch::COMMAND_UPDATE |
Raw update operation. Required keys are "q" and "u", which correspond to the $criteria and $new_object parameters of MongoCollection::update(), respectively. Optional keys are "multi" and "upsert", which correspond to the "multiple" and "upsert" options for MongoCollection::update(), respectively. If unspecified, both options default to FALSE. |
MongoWriteBatch::COMMAND_DELETE |
Raw delete operation. Required keys are: "q" and "limit", which correspond to the $criteria parameter and "justOne" option of MongoCollection::remove(), respectively. The "limit" option is an integer; however, MongoDB only supports 0 (i.e. remove all matching documents) and 1 (i.e. remove at most one matching document) at this time. |
Возвращаемые значения
Returns TRUE on success and throws an exception on failure.
Ошибки
Примеры
Пример #1 MongoWriteBatch::add() example
Batching up multiple insert operations
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");
$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");
$batch = new MongoInsertBatch($collection);
foreach($docs as $document) {
$batch->add($document);
}
$batch->execute(array("w" => 1));
Пример #2 MongoWriteBatch::add() example
Batching up multiple update operations
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");
$item1 = array(
"q" => array("my" => "demo"),
"u" => array('$set' => array("try" => 1)),
"multi" => false, /* default value */
"upsert" => false, /* default value */
);
$item2 = array(
"q" => array("is" => "working"),
"u" => array('$set' => array("try" => 2)),
"multi" => true,
);
$item3 = array(
"q" => array("created" => "new-document"),
"u" => array('$set' => array("try" => 3)),
"upsert" => true,
);
$batch = new MongoUpdateBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->add($item3);
$batch->execute(array("w" => 1));
Пример #3 MongoWriteBatch::add() example
Batching up multiple delete operations
$mc = new MongoClient("localhost");
$collection = $mc->selectCollection("test", "test");
$item1 = array(
"q" => array("my" => "demo"),
"limit" => 1,
);
$item2 = array(
"q" => array("try" => 3),
"limit" => 1,
);
$batch = new MongoDeleteBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->execute(array("w" => 1));
User Contributed Notes
There are no user contributed notes for this page.

Описание класса mongowritebatch, примеры использования класса mongowritebatch.
Смотрите также:
Описание на ru2.php.net
Описание на php.ru