PHP7操作MongoDB增删改查

说明

BulkWrite 收集将被发送到服务端的写入选项
Manager 定义一个连接器,连接到数据库
WriteConcern 配置写入策略,满足不同写入需求
executeBulkWrite 真正执行写入

$bulk = new MongoDB\Driver\BulkWrite;

$bulk->insert(['x'=>1,'name'=>'taobao','url'=>'www.taobao.com']);
$bulk->insert(['x'=>2,'name'=>'google','url'=>'www.google.com']);
$bulk->insert(['x'=>3,'name'=>'baidu','url'=>'www.baidu.com']);

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

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);

$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);

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

$filter=['x'=>['$gt'=>1]];
$options=[
    'projection'    =>  ['_id'=>0],
    'sort'          =>  ['x'=>-1],
];

$query=new MongoDB\Driver\Query($filter,$options);
$cursor=$manager->executeQuery('test.runoob',$query);

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

$bulk=new MongoDB\Driver\BulkWrite();
$bulk->update(
    ['x'=>2],
    ['$set'=>['name'=>'乘风破浪','url'=>'www.hewie.cn']],
    ['multi'=>false,'upsert'=>false]
);

$manager=new MongoDB\Driver\Manager("mongodb://localhost:27017");
$writeConcern=new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY,1000);
$result=$manager->executeBulkWrite('test.runoob',$bulk,$writeConcern);

$bulk=new MongoDB\Driver\BulkWrite();
$bulk->delete(['x' => 1], ['limit' => 1]);// limit 为 1 时,删除第一条匹配数据
$bulk->delete(['x' => 2], ['limit' => 0]);   // limit 为 0 时,删除所有匹配数据

$manager=new MongoDB\Driver\Manager("mongodb://localhost:27017");
$writeConcern=new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY,1000);
$result=$manager->executeBulkWrite('test.runoob',$bulk,$writeConcern);

资料

菜鸟教程
MongoDB writeConcern原理解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hober.z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值