下面我给您详细讲解PHP对MongoDB[NoSQL]数据库的操作的完整攻略,并包含两条示例来说明。
环境搭建
首先需要安装mongodb的驱动程序,可以通过pecl进行安装。如果未安装pecl,需要先进行pecl的安装。
安装pecl
yum -y install php-pecl-mongodb
安装完后通过phpinfo()确认扩展已安装。
配置MongoDB服务
MongoDB服务器需要加密验证,需要在使用用户名和密码之前先配置用户名和密码等信息。
启动命令:
mongod --dbpath /data/db --logpath /data/logs/mongod.log --fork --auth
在mongodb的配置文件中开启验证模式:
security:
authorization: enabled
在此过程中,需要先对MongoDB进行一定的了解,这里就不做过多的介绍了。
连接MongoDB
连接MongoDB,需要使用mongoDB对应的扩展。
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
?>
插入数据
操作MongoDB,需要用到MongoDB\Driver\BulkWrite类。示例如下:
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new MongoDB\Driver\BulkWrite;
$doc1 = ['_id' => '1', 'name' => 'Tom', 'age' => 18];
$doc2 = ['_id' => '2', 'name' => 'Jerry', 'age' => 20];
$doc3 = ['_id' => '3', 'name' => 'Lucy', 'age' => 21];
$bulk->insert($doc1);
$bulk->insert($doc2);
$bulk->insert($doc3);
$manager->executeBulkWrite('db.collection', $bulk);
?>
查询数据
查询MongoDB的操作涉及到过滤器、排序和投影。示例如下:
<?php
$filter = ['age' => ['$gte' => 20]];
$options = [
'sort' => ['age' => 1],
'projection' => ['_id' => 0, 'name' => 1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);
foreach ($cursor as $document) {
var_dump($document);
}
?>
以上就是PHP对MongoDB数据库的操作完整攻略,并附带两个示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP对MongoDB[NoSQL]数据库的操作 - Python技术站