# Collection::replaceOne

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

Collection::replaceOne — Replace one collection document

### Description

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

Updates (or replaces) the document identified by ID, if it exists.

### Parameters

`id`

  ID of the document to replace or update. Typically this is the _id that was generated by MySQL Server when the record was added.

`doc`

  Collection document to update or replace the document matching the id parameter.

  This document can be either a document object or a valid JSON string describing the new document.

### Return Values

A Result object that can be used to query the number of affected items and the number warnings generated by the operation.

### Examples

Example #1 mysql_xdevapi\Collection::replaceOne() example

`<?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");
$collection = $schema->createCollection("people");
$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids = $result->getGeneratedIds();
$alfred_id = $ids[0];
// ...
$alfred = $collection->getOne($alfred_id);
$alfred['age'] = 81;
$alfred['job'] = 'Guru';
$collection->replaceOne($alfred_id, $alfred);
?>`