php操作mongodb
https://www.runoob.com/mongodb/php7-mongdb-tutorial.html
1、安装扩展
https://pecl.php.net/package/mongodb/1.2.9/windows
注意:扩展文件
下载合适的php_mongodb.dll文件。
(1)php的版本
(2)是否是线程安全的thread safe(ts)
(3)是vc几的
(4)php是32位的还是64位的。
步骤:
(1)把对应的扩展,拷贝到php的安装目录里面的ext目录里面。
注意:拷贝后,改名为php_mongo.dll
(2)打开php.ini文件,引入该扩展,
(3)重启apache,
使用phpinfo()函数测试
2、入门使用
PHP7 里面使用如下库,操作比较复杂;
(1)插入数据
$manager =
new MongoDB\Driver\Manager("mongodb://phpadmin:123456@localhost:27017/php");
//插入数据
//创建一个对象
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['name'=>'刘备','age'=>12,'email'=>'liubei@sohu.com']);
$bulk->insert(['name'=>'关羽','age'=>22,'email'=>'guanyu@sohu.com']);
$bulk->insert(['name'=>'张飞','age'=>18,'email'=>'zhangfei@sohu.com']);
$manager->executeBulkWrite('php.stu', $bulk);
echo 'ok';
(2)查询数据
$filter = ['age'=>['$gt'=>16]];
$options = [
'projection'=>['_id'=>0],
'sort'=>['age'=>1]
];
$query = new MongoDB\Driver\Query($filter, $options);
//$query = new MongoDB\Driver\Query([],[]);
$data = $manager->executeQuery('php.stu', $query);
echo '<pre>';
foreach ($data as $key => $value) {
print_r($value);
}
(3)更新数据
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
['age' => 12],
['$set' => ['name' => '刘备被', 'email' => 'liubeibei@sohu.com']],
['multi' => false, 'upsert' => false]
);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('php.stu', $bulk, $writeConcern);
echo 'ok';
(4)删除数据
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->delete(['age' => 22], ['limit' => 1]); // limit 为 1 时,删除第一条匹配数据
//$bulk->delete(['x' => 2], ['limit' => 0]); // limit 为 0 时,删除所有匹配数据
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('php.stu', $bulk, $writeConcern);
var_dump($result);
linux系统安装mongodb
解压后,直接进入目录启动即可;在启动时要添加--fork参数,作为一个进程后台运行;
启动的命令;
1
1
1
1
1
1
1
1
1
1