(mongodb >=0.2.0)
MongoDB\Driver\Manager::executeInsert — Convenience method for a single insert operation
$namespace
, array|object $document
[, MongoDB\Driver\WriteConcern $writeConcern
] )Convenience method to execute a MongoDB\Driver\BulkWrite with only one insert operation.
namespace
A fully qualified namespace (databaseName.collectionName)
document
The document to insert.
writeConcern
Optionally, a MongoDB\Driver\WriteConcern. If none given, default to the Write Concern set by the MongoDB Connection URI.
Returns MongoDB\Driver\WriteResult on success, throws exception (instanceof MongoDB\Driver\Exception) on failure.
Example #1 MongoDB\Driver\Manager::executeInsert() example
<?php
$document = array(
"title" => "mongodb",
);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$result = $manager->executeInsert("mydb.collection", $document, $writeConcern);
printf("Inserted %d document(s)\n", $result->getInsertedCount());
/* If the WriteConcern could not be fulfilled */
if ($writeConcernError = $result->getWriteConcernError()) {
printf("%s (%d): %s\n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true));
}
/* If the write could not happen at all */
foreach ($result->getWriteErrors() as $writeError) {
printf("%s (%d)\n", $writeError->getMessage(), $writeError->getCode());
}
?>
以上例程的输出类似于:
Inserted 1 document(s)
Note:
On write failure, MongoDB\Driver\WriteResult::getWriteErrors() will only ever have one MongoDB\Driver\WriteError in the array, and MongoDB\Driver\WriteError::getIndex() will always be 0 (the index of this operation in the batch).