Unlike update, remove deletes all matched documents by default.

You can set an option to remove only the first matched document

<?php
$m = new MongoClient;
$c = $m->demo->products;
$c->drop();

$c->insert( [ '_id' => 'blue-elephpant',  'generation' => 1, 'price' => 7.5 ] );
$c->insert( [ '_id' => 'pink-elephpant',  'generation' => 2, 'price' => 8.0 ] );
$c->insert( [ '_id' => 'green-elephpant', 'generation' => 3, 'price' => 7.5 ] );

$c->remove(
    [ 'price' => [ '$lt' => 8.0 ] ],  // criteria
    [ 'justOne' => true ]             // options: justOne
);
?>