您当前的位置: 首页 >  mongodb

php简单操作mongodb

发布时间:2021-02-02 14:28:34 ,浏览量:10

mongodb管理器 在这里插入图片描述 在这里插入图片描述

  • Driver\Manager 入口文件,一般都要先实例化该类
  • Driver\BulkWrite 读写类,数据库的增、删、改都要先靠该类来实现
  • Driver\Query 查询类,MongoDB支持丰富的查询方式,所以单独拿出来组建了一个类
  • Driver\Cursor 返回结果类,其实就是一个Cursor类的一个对象,该类有内置的toArray()函数可以结果转换成数组形式的
  • BSON\ObjectID MongoDB默认创建的索引是_id,在添加的时候可以指定_id,给类就是可以创建一个指定内容的_id
一:插入数据

例:向默认的test数据库的wj表中插入数据

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); // 插入数据 $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(['id' => 1, 'name'=>'测试', 'url' => 'http://www.百度.com']); $manager->executeBulkWrite('test.wj', $bulk); 
2:查询数据

查询test数据库的wj表中name值不为测试的数据

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $filter = ['name' => '测试']; $options = [ 'projection' => ['_id' => 0], 'sort' => ['name' => -1], ]; $query = new MongoDB\Driver\Query($filter, $options); $cursor = $manager->executeQuery('test.wj', $query); foreach ($cursor as $document) { print_r($document); } 
3:更新数据

将test数据库中的wj表中id为1的数据中name字段变为测试1234,

$bulk = new MongoDB\Driver\BulkWrite; $bulk->update( ['id' => 1], ['$set' => ['name' => '测试1234']], ['multi' => false, 'upsert' => false] #multi表示只更新一条数据,upsert表示如果不存在update的记录,不进行插入操作 ); $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000); $result = $manager->executeBulkWrite('test.wj', $bulk, $writeConcern); 
4:删除数据
$bulk = new MongoDB\Driver\BulkWrite; $bulk->delete(['id' => 1], ['limit' => 1]); // limit 为 1 时,删除第一条匹配数据 $bulk->delete(['id' => 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.wj', $bulk, $writeConcern); 
关注
打赏
1688896170
查看更多评论

暂无认证

  • 10浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1704s