PHP操作MongoDB

PHP操作MongoDB

PHP的MongoDB驱动中文文档:https://www.php.cn/manual/view/4.html

PHP的MongoDB驱动官方文档:https://www.php.net/manual/zh/book.mongodb.php

有些细节都没写全,如想学习请阅读官方文档!

PHP连接MongoDB:

// 创建连接
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

// MongoDB 写操作类
$bulk = new MongoDB\Driver\BulkWrite;

// 创建一个MongoDB ObjectId,如果传入的是字符串,它将尝试将其转化为ObjectId类型
$id = new MongoDB\BSON\ObjectId();

增删改查:

// 增
// MongoDB默认将 _id 当作主键,如果没有它会自动创建,所以这里的_id可以不填
$bulk->insert(['_id'=>new MongoDB\BSON\ObjectId, 'name'=>'我是遗失的美好灬', 'age'=>18]);

// executeBulkWrite() 执行一个或多个写操作 参数一 是命名空间( 数据库.集合),参数二 是写操作对象 BulkWrite
$result = $manager->executeBulkWrite('cxfs.hahah', $bulk);


// 改
/* 
update()向批量添加更新操作 
参数1:filter 过滤器(为空则匹配所有)
参数2:newObj 新对象,包含更新运算符(例如$set)或替换文档(即只有字段:值表达式)的文档。
参数3:option 
      [
         multi: 如果为FALSE,则仅更新第一个匹配的文档,为TRUE更新所有匹配的文档。如果newObj是替换文档,则此选项不能为TRUE。
        upsert:如果过滤器与现有文档不匹配,请插入单个文档。如果文档是替换文档(即没有更新操作符),则将从newObj创建该文档;否则,newObj中的运算符将应用于过滤以创建新文档
      ]
   */
 $bulk->update(
       ['age'=>19, 'hh'=>2],
       ['$set' => ['name' => '菜鸟19号']],
       ['multi' => true, 'upsert' => true]
  );

  $rs = $manager->executeBulkWrite('xxj.runoob', $bulk);

// 删
    $bulk->delete(['age'=>19]);
    $rs = $manager->executeBulkWrite('xxj.runoob', $bulk);
// 查
  //$filter是删选条件
    $filter = [];

    $query = new MongoDB\Driver\Query($filter);
    $rs = $manager->executeQuery('xxj.runoob', $query);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值