Collection::removeOne

Remove one collection document

Description

public mysql_xdevapi\Result mysql_xdevapi\Collection::removeOne(string $id)

Remove one document from the collection with the corresponding ID. This is a shortcut for Collection.remove("_id = :id").bind("id", id).execute().

Parameters

id

The ID of the collection document to remove. Typically this is the _id that was generated by MySQL Server when the record was added.

Return Values

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

Examples

Example #1 mysql_xdevapi\Collection::removeOne 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];

$result = $collection->removeOne($alfred_id);

if(!$result->getAffectedItemsCount()) {
    echo "Alfred with id $alfred_id was not removed.";
} else {
    echo "Goodbye, Alfred, you can take _id $alfred_id with you.";
}
?>

The above example will output something similar to:

Goodbye, Alfred, you can take _id 00005b6b536100000000000000cb with you.