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).

