(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
$filter
, array|object $newObj
, ?array $updateOptions
= null
): voidAdds an update operation to the MongoDB\Driver\BulkWrite.
filter
(array|object)O » predicado de consulta. Um predicado vazio corresponderá a todos os documentos da coleção.
Nota: Ao avaliar os critérios de consulta, o MongoDB compara os tipos e valores de acordo com suas próprias » regras de comparação para tipos BSON, que diferem das regras de comparação e do malabarismo de tipos do PHP. Ao corresponder a um tipo especial de BSON, os critérios de consulta devem usar a respectiva classe BSON (por exemplo, use MongoDB\BSON\ObjectId para corresponder a um » ObjectId).
newObj
(array|object)
A document containing either update operators (e.g.
$set
), a replacement document (i.e.
only field:value
expressions), or
an » aggregation pipeline.
updateOptions
Option | Type | Description | Default |
---|---|---|---|
arrayFilters | array |
An array of filter documents that determines which array elements to modify for an update operation on an array field. See » Specify arrayFilters for Array Update Operations in the MongoDB manual for more information. This option is available in MongoDB 3.6+ and will result in an exception at execution time if specified for an older server version. |
|
collation | array|object |
» Collation permite que os usuários especifiquem regras específicas do idioma para comparação de strings, como regras para maiúsculas e minúsculas e acentos. Ao especificar a collation, o campo Se a collation não for especificada, mas a coleção tiver uma collation padrão, a operação usará a collation especificada para a coleção. Se nenhuma collation for especificada para a coleção ou para a operação, o MongoDB usará a comparação binária simples usada em versões anteriores para comparações de strings. Esta opção está disponível no MongoDB 3.4+ e resultará em uma exceção em tempo de execução se for especificada para uma versão de servidor mais antiga. |
|
hint | string|array|object |
Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index. This option is available in MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version. |
|
multi | bool |
Update only the first matching document if false , or all
matching documents true . This option cannot be true if
newObj is a replacement document.
|
false |
upsert | bool |
If filter does not match an existing document,
insert a single document. The document will be
created from newObj if it is a replacement
document (i.e. no update operators); otherwise, the operators in
newObj will be applied to
filter to create the new document.
|
false |
Nenhum valor é retornado.
Versão | Descrição |
---|---|
PECL mongodb 1.7.0 |
Added the "hint" option.
|
PECL mongodb 1.6.0 |
The newObj parameter now accepts an aggregation
pipeline. This feature requires MongoDB 4.2+ and will result in an
exception at execution time if specified for an older server version.
|
PECL mongodb 1.5.0 |
Using the "arrayFilters" option will result in an
exception at execution time if unsupported by the server. Previously,
no exception would be thrown and the option may have been ignored.
|
PECL mongodb 1.4.0 |
Added the "arrayFilters" option.
|
PECL mongodb 1.2.0 |
Added the "collation" option.
|
Exemplo #1 MongoDB\Driver\BulkWrite::update() example
<?php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
['x' => 2],
['$set' => ['y' => 3]],
['multi' => false, 'upsert' => false]
);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);
?>