php7+操作 MongoDB4.0

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Wild_sir/article/details/90372185

php7+ 操作 MongoDB4.0

一、连接MongoDB服务

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");

二、添加数据

//实例化一个添加类
$bulk = new MongoDB\Driver\BulkWrite;
//添加你要添加的数据 可以是对象可以是数组
$bulk->insert(['name'=>'zzr,'age'=>'19']);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可选,修改确认
//第一个参数的格式 数据库.集合名
$res = $mongo->executeBulkWrite('admin.admin',$bulk,$writeConcern);
var_dump($res);

这时我们看到数据已经成功添加进来了

三、查询数据

$query = new MongoDB\Driver\Query(['name'=>"zzr"]);
//这里的admin.admin 也是数据库.集合名
$cursor = $mongo->executeQuery('admin.admin',$query);
$data = [];
foreach($cursor as $doc) {
    $data[] = $doc;
}
ec![](/uploads/article/20190515/5cdbbcc6e213c.png)ho '<pre>';
print_r($data);

四、修改数据
//修改数据

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
    ['name' => 'zzr','age'=>"19"],
    ['$set' => ['name' => 'zzr1','age'=>"17"]]
);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可选,修改确认
$res = $mongo->executeBulkWrite('admin.admin', $bulk, $writeConcern);
echo '<pre>';
print_r($res);

这是我们看到数据已经变成了我们想要的样子
敲黑板 记重点

这里我们发现我们有三条数据都是满足要改变的条件,但是mango只给我们改变了第一条符合条件的数据,如果我们再执行一次程序,那么下一条符合条件的文档也会被修改
五、删除数据

$bulk = new MongoDB\Driver\BulkWrite;

//这里我们删除刚刚修改成年龄为17的文档

$bulk->delete(['name' => 'zzr1','age'=>"17"]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可选,修改确认
$res = $mongo->executeBulkWrite('admin.admin', $bulk, $writeConcern);
echo '<pre>';
print_r($res);

这里我们看到数据已经被成功的删除了,但是当有多个文档同时满足我们的删除条件时,我们的mongo仍会优先删除第一个。

猜你喜欢

转载自blog.csdn.net/Wild_sir/article/details/90372185