Beispiel #1
0
    $result = $collection->findOneAndUpdate($kasparov, ['$set' => ["citizen" => "Croatia"]]);
    var_dump($result);
    echo "\n";
    echo "Deleting him, he isn't Croatian just yet\n";
    $result = $collection->findOneAndDelete(["citizen" => "Croatia"]);
    var_dump($result);
    echo "\n";
    echo "This should be empty\n";
    $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->bulkWrite([['insertOne' => [['x' => 1]]], ['updateMany' => [['x' => 1], ['$set' => ['x' => 2]]]], ['updateOne' => [['x' => 3], ['$set' => ['x' => 4]], ['upsert' => true]]], ['deleteOne' => [['x' => 1]]], ['deleteMany' => [[]]]], ['ordered' => false]);
    printf("insertedCount: %d\n", $result->getInsertedCount());
    printf("matchedCount: %d\n", $result->getMatchedCount());
    printf("modifiedCount: %d\n", $result->getModifiedCount());
    printf("upsertedCount: %d\n", $result->getUpsertedCount());
    printf("deletedCount: %d\n", $result->getDeletedCount());
    foreach ($result->getUpsertedIds() as $index => $id) {
        printf("upsertedId[%d]: %s\n", $index, $id);
    }
} catch (Exception $e) {
    printf("Caught exception '%s', on line %d\n", $e->getMessage(), __LINE__);
    exit;
}
    printf("Inserted %d documents, upserted %d, updated %d, and deleted %d\n", $result->getInsertedCount(), $result->getUpsertedCount(), $result->getModifiedCount(), $result->getDeletedCount());
    if ($result->getUpsertedCount()) {
        foreach ($result->getUpsertedIds() as $index => $id) {
            printf("upsertedId[%d]: %s\n", $index, $id);
        }
    }
}
function dumpCollection($collection)
{
    printf("Dumping all documents in: %s.%s\n", $collection->getDatabaseName(), $collection->getCollectionName());
    $n = 0;
    foreach ($collection->find() as $document) {
        var_dump($document);
        $n++;
    }
    printf("Found %d documents\n", $n);
}
$result = $collection->bulkWrite([["insertOne" => [["name" => "Hannes Magnusson", "company" => "10gen"]]], ["insertOne" => [["name" => "Jeremy Mikola", "company" => "10gen"]]], ["updateMany" => [["company" => "10gen"], ['$set' => ["company" => "MongoDB"]]]], ["updateOne" => [["name" => "Hannes Magnusson"], ['$set' => ["viking" => true]]]]]);
dumpWriteResults($result);
echo "\n";
dumpCollection($collection);
echo "\n";
$result = $collection->bulkWrite([["deleteOne" => [["company" => "MongoDB"]]], ["updateOne" => [["name" => "Hannes Magnusson"], ['$set' => ["nationality" => "Icelandic"]], ["upsert" => true]]], ["deleteMany" => [["nationality" => ['$ne' => "Icelandic"]]]]]);
dumpWriteResults($result);
echo "\n";
dumpCollection($collection);
echo "\n";
$result = $collection->bulkWrite([["deleteMany" => [[]]]]);
dumpWriteResults($result);
echo "\n";
dumpCollection($collection);