PHP 和 MongoDB - 插入嵌入文档
执行任何操作的第一步是创建 Manager 实例。
// 使用管理器实例连接到 MongoDB $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
第二步是准备并执行一个bulkWrite对象,以在集合中插入带有嵌入文档的记录。
// 创建一个BulkWrite对象 $bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]); $bulk->insert(['title' => "MongoDB Overview", 'description' => 'MongoDB is no SQL database', 'by' => 'tutorials point', 'url' => 'http://www.tutorialspoint.com', 'comments' => [ ['user' => "user1", 'message' => "My First Comment", 'dateCreated' => "20/2/2020", 'like' => 0], ['user' => "user2", 'message' => "My Second Comment", 'dateCreated' => "20/2/2020", 'like' => 0], ]]); // 执行命令。 $result = $manager->executeBulkWrite('myDb.sampleCollection', $bulk);
示例
尝试以下示例在 MongoDB 服务器的集合中插入带有嵌入文档的文档 −
将以下示例复制并粘贴为 mongodb_example.php −
<?php try { // 连接到 mongodb $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]); $bulk->insert(['title' => "MongoDB Overview", 'description' => 'MongoDB is no SQL database', 'by' => 'tutorials point', 'url' => 'http://www.tutorialspoint.com', 'comments' => [ ['user' => "user1", 'message' => "My First Comment", 'dateCreated' => "20/2/2020", 'like' => 0], ['user' => "user2", 'message' => "My Second Comment", 'dateCreated' => "20/2/2020", 'like' => 0], ]]); $result = $manager->executeBulkWrite('myDb.sampleCollection', $bulk); printf("Inserted %d document(s). ", $result->getInsertedCount()); } catch (MongoDB\Driver\Exception\Exception $e) { echo "Exception:", $e->getMessage(), " "; } ?>
输出
访问部署在 apache Web 服务器上的 mongodb_example.php 并验证输出。
Inserted 1 document(s).