PHP 8.4.2 Released!

Collection::addOrReplaceOne

(No version information available, might only be in Git)

Collection::addOrReplaceOneAdiciona ou substitui um documento na coleção

Descrição

public mysql_xdevapi\Collection::addOrReplaceOne(string $id, string $doc): mysql_xdevapi\Result

Adiciona um novo documento, ou substitui um documento se ele já existir.

Aqui estão vários cenários para este método:

  • Se nem o id nem qualquer valor único de chave conflitar com algum documento na coleção, o documento é adicionado.

  • Se o id não corresponder a nenhum documento mas uma ou mais valores únicos de chave conflitarem com um documento na coleção, um erro é emitido.

  • Se o id corresponder a um documento existente e não houver chaves únicas definidas para a coleção, o documento é substituído.

  • Se o id corresponder a um documento existente e, todas as chaves únicas no documento substituto corresponderem ao mesmo documento ou não conflitarem com nenhum outro documento na coleção, o documento é substituído.

  • Se o id corresponder a um documento existente e uma ou mais chaves únicas corresponderem a um documento diferente na coleção, um erro é emitido.

Parâmetros

id

Este é o id de filtro. Se este id ou qualquer outro campo que tiver um índice único já existir na coleção, o documento correspondente será atualizado.

Por padrão, este id é gerado automaticamente pelo servidor MySQL quando o registro é adicionado e é referenciado como um campo com o nome '_id'.

doc

Este é o documento a ser inserido ou substituído, que é uma string JSON.

Valor Retornado

Um objeto Result.

Exemplos

Exemplo #1 Exemplo de mysql_xdevapi\Collection::addOrReplaceOne()

<?php
$session
= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Usando add()
$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

// Usando addOrReplaceOne()
// Nota: aqui está sendo passado um valor conhecido de _id
$result = $collection->addOrReplaceOne('00005b6b53610000000000000056', '{"name": "Fred", "age": 21, "job": "Construction"}');

?>
adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top