虚拟化容器,大数据,DBA,中间件,监控。

PHP7操作MongoDB

13 01月
作者:admin|分类:DBA运维

目录

PHP7里面使用如下库,操作比较复杂

PHP7连接MongoDB语法如下:

//参数规则: mongodb://账号:密码@IP:端口/数据库
$manager = new \MongoDB\Driver\Manager("mongodb://php:123456@localhost:27017/php");

插入数据

//1.连接MongoDB
$manager = new \MongoDB\Driver\Manager("mongodb://php:123456@localhost:27017/php");

//2.创建一个BulkWrite对象
$bulk = new \MongoDB\Driver\BulkWrite();
$bulk->insert(['name' => 'bashlog', 'age' => 26, 'email' => 'bashlog@foxmail.com']);
$bulk->insert(['name' => 'itbsl', 'age' => 12, 'email' => 'itbsl@foxmail.com']);

//3.执行插入
$manager->executeBulkWrite('php.stu', $bulk);

查看插入情况

查询数据

//1.连接MongoDB
$manager = new \MongoDB\Driver\Manager("mongodb://php:123456@localhost:27017/php");

//2.创建一个Query对象
$filter = ['age' => ['$gt' => 5]];
$options = [
    'sort' => ['age' => -1]
];
$query = new \MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('php.stu', $query);

foreach ($cursor as $document) {
    var_dump($document);
}

更新数据

//1.规则:mongodb://账号:密码@IP:端口/数据库
$manager = new \MongoDB\Driver\Manager("mongodb://php:123456@localhost:27017/php");


//2.创建一个BulkWrite对象
$bulk = new \MongoDB\Driver\BulkWrite();

$bulk->update(
    ['age' => 12],
    ['$set' => ['name' => 'kitty', 'age' => 122]],
    ['multi' => false, 'upsert' => false]
);

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('php.stu', $bulk, $writeConcern);

删除数据

//1.规则:mongodb://账号:密码@IP:端口/数据库
$manager = new \MongoDB\Driver\Manager("mongodb://php:123456@localhost:27017/php");


//2.创建一个BulkWrite对象
$bulk = new \MongoDB\Driver\BulkWrite();
//limit为1时,删除第一条匹配的数据
//limit为0时,删除所有匹配数据
$bulk->delete(['age' => 122], ['limit' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('php.stu', $bulk, $writeConcern);

如果该文章对您有帮助,请您点个推荐,感谢。

浏览670 评论0
返回
目录
返回
首页
Memcached双主模型之repcached docker Redis容器通过dump.rdb文件进行数据迁移或恢复数据