MongoDB\ClientBulkWrite::updateOne()
Novidades na versão 2.1.
Definição
MongoDB\ClientBulkWrite::updateOne()
Especifique uma operação de atualização no comando de gravação em massa para o primeiro documento correspondente. Este método retorna a
MongoDB\ClientBulkWrite
instância na qual é chamado.function updateOne( array|object $filter, array|object $update, array $options = [] ): self
Parâmetros
$filter
: array|object- Os critérios de filtro que especificam os documentos a serem atualizados.
$update
: array|object- As combinações de campo e valor a serem atualizadas e quaisquer operadores de atualização relevantes.
$update
usa os operadores de atualização do MongoDB. Você pode passar um pipeline de agregação como esse parâmetro. $options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãoarrayFilters
array
Uma array de documentos de filtro que determina quais elementos da array modificar para uma operação de atualização em um campo da array.
agrupamento
array|object
A colocação permite que os usuários especifiquem regras específicas do idioma para comparação de string , como regras para letras maiúsculas e marcas de acento. Ao especificar agrupamento, o campo
locale
é obrigatório; todos os outros campos de agrupamento são opcionais. Para obter descrições dos campos, consulte Documento de agrupamento.Se o agrupamento não for especificado, mas a coleção tiver um agrupamento padrão, a operação usará o agrupamento especificado para a coleção. Se nenhum agrupamento for especificado para a coleção nem para a operação, o MongoDB usará a comparação binária simples usada nas versões anteriores para comparações de strings.
dica
string|array|objeto
O índice a ser utilizado. Especifique o nome do índice como uma string ou o padrão da chave do índice como um documento. Se especificado, o sistema de query considerará apenas os planos usando o índice sugerido.
sort
array|object
A especificação de classificação para a ordem dos documentos correspondentes. Defina esta opção para aplicar um pedido aos documentos correspondentes antes que o servidor execute a operação de atualização.
upsert
booleano
Se definido como
true
, é criado um novo documento quando nenhum documento corresponde aos critérios da consulta. O valor padrão éfalse
, que não insere um novo documento quando nenhuma correspondência é encontrada.
Erros/exceções
MongoDB\Exception\UnsupportedException
se as opções forem usadas e não aceitas pelo servidor selecionado (p. ex., collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
para erros relacionados à análise de parâmetros ou opções.
MongoDB\Driver\Exception\BulkWriteCommandException para erros relacionados à operação de gravação. Você pode inspecionar o valor retornado por getWriteErrors() para determinar a natureza do erro.
MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).
Comportamento
Ao avaliar critérios de query, oMongoDB compara tipos e valores de acordo com suas próprias regras de comparação para BSON types, o que difere da comparação do e digite PHP malabarismo regras. Ao corresponder a um tipo BSON especial, os critérios de query devem usar a respectiva classe BSON na extensão (por exemplo use MongoDB\BSON\ObjectId para corresponder a um ObjectId).
Se uma MongoDB\Driver\Exception\BulkWriteCommandException for lançada, você poderá chamar getWriteErrors() e inspecionar as informações na array retornada para determinar a natureza do erro.
Por exemplo, uma operação de gravação pode ter sido aplicada com êxito ao servidor primário , mas não atendeu ao preocupação de gravação. Como alternativa, uma operação de gravação pode ter falhado completamente, por exemplo , por violar a restrição de chave exclusiva.