Php Mongodb 简明教程

PHP & MongoDB - Insert Embedded Documents

执行任何操作的第一步是创建一个管理器实例。

// Connect to MongoDB using Manager Instance
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

第二步是准备并执行一个 bulkWrite 对象,以在集合中插入带有嵌入式文档的记录。

// Create a BulkWrite Object
$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],
   ]]);

// Execute the commands.
$result = $manager->executeBulkWrite('myDb.sampleCollection', $bulk);

Example

尝试以下示例以在 MongoDB 服务器中的集合中插入带有嵌入式文档的文档 −

将以下示例复制粘贴到 mongodb_example.php −

<?php
   try {
	  // connect to 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).\n", $result->getInsertedCount());
   } catch (MongoDB\Driver\Exception\Exception $e) {
      echo "Exception:", $e->getMessage(), "\n";
   }
?>

Output

访问部署在 Apache Web 服务器上的 mongodb_example.php 并验证输出。

Inserted 1 document(s).