echo "Distinct countries:\n"; var_dump($result); echo "\n"; echo "aggregate\n"; $result = $collection->aggregate([['$project' => ["name" => 1, "_id" => 0]]], ["useCursor" => true, "batchSize" => 2]); printf("Should be 3 different people\n"); foreach ($result as $person) { var_dump($person); } echo "\n"; } catch (Exception $e) { printf("Caught exception '%s', on line %d\n", $e->getMessage(), __LINE__); exit; } try { $result = $collection->updateMany(["citizen" => "Iceland"], ['$set' => ["viking" => true]]); printf("Updated: %d (out of expected 2), verify Icelandic people are vikings\n", $result->getModifiedCount()); $result = $collection->find(); foreach ($result as $document) { var_dump($document); } echo "\n"; } catch (Exception $e) { printf("Caught exception '%s', on line %d\n", $e->getMessage(), __LINE__); exit; } try { $result = $collection->replaceOne(["nick" => "Bobby Fischer"], ["name" => "Magnus Carlsen", "nick" => "unknown", "citizen" => "Norway"]); printf("Replaced: %d (out of expected 1), verify Bobby has been replaced with Magnus\n", $result->getModifiedCount()); $result = $collection->find(); foreach ($result as $document) {