第30章 PHP7 MongDB 安装与使用教程

这篇具有很好参考价值的文章主要介绍了第30章 PHP7 MongDB 安装与使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PHP7 MongDB install 与使用

本文教程只适合在 PHP7 的环境,如果陛下您是 PHP5 环境,陛下您可以参阅 PHP MongDB install 与使用。

PHP7 Mongdb 扩展install

咱们使用 pecl 命令来install :


    $ /usr/local/php7/bin/pecl install mongodb

执行成功后,会输出以下结果请在输出结果查看


    ……
    Build process completed successfully
    Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so'
    install ok: channel://pecl.php.net/mongodb-1.1.7
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=mongodb.so" to php.ini

接下来咱们打开 php.ini 文件,添加 extension=mongodb.so 配置。

可以直接执行以下命令来添加。


    $ echo "extension=mongodb.so" >> `/usr/local/php7/bin/php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

**注意:**以上执行的命令中 php7 的install 目录为 /usr/local/php7/,如果陛下您install 在其他目录,需要相应修改 pecl 与 php 命令的路径。


Mongodb 使用

PHP7 连接 MongoDB 语法如下:


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

插入数据

将 name 为"liulianjiangcsdn教程" 的数据插入到 test database的 liulianjiangcsdn 集合中。


    <?php
    $bulk = new MongoDB\Driver\BulkWrite;
    $document = ['_id' => new MongoDB\BSON\ObjectID, 'name' => 'liulianjiangcsdn教程'];
    
    $_id= $bulk->insert($document);
    
    var_dump($_id);
    
    $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  
    $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
    $result = $manager->executeBulkWrite('test.liulianjiangcsdn', $bulk, $writeConcern);
    ?>

读取数据

这里咱们将三个网址数据插入到 test database的 sites 集合,并读取迭代出来:


    <?php
    $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  
    
    // 插入数据
    $bulk = new MongoDB\Driver\BulkWrite;
    $bulk->insert(['x' => 1, 'name'=>'liulianjiangcsdn教程', 'url' => 'http://blog.csdn.net/qq441540598']);
    $bulk->insert(['x' => 2, 'name'=>'Google', 'url' => 'http://www.google.net']);
    $bulk->insert(['x' => 3, 'name'=>'taobao', 'url' => 'http://www.taobao.net']);
    $manager->executeBulkWrite('test.sites', $bulk);
    
    $filter = ['x' => ['$gt' => 1]];
    $options = [
        'projection' => ['_id' => 0],
        'sort' => ['x' => -1],
    ];
    
    // 查询数据
    $query = new MongoDB\Driver\Query($filter, $options);
    $cursor = $manager->executeQuery('test.sites', $query);
    
    foreach ($cursor as $document) {
        print_r($document);
    }
    ?>

输出结果请在输出结果查看


    stdClass Object
    (
        [x] => 3
        [name] => taobao
        [url] => http://www.taobao.net
    )
    stdClass Object
    (
        [x] => 2
        [name] => Google
        [url] => http://www.google.net
    )

更新数据

接下来咱们将更新 test database sites 集合中 x 为 2 的数据:


    <?php
    $bulk = new MongoDB\Driver\BulkWrite;
    $bulk->update(
        ['x' => 2],
        ['$set' => ['name' => 'liulianjiangcsdntool ', 'url' => 'tool.blog.csdn.net/qq441540598']],
        ['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.sites', $bulk, $writeConcern);
    ?>

接下来咱们使用 “db.sites.find()” 命令查看数据的变化,x 为 2 的数据已经变成了liulianjiangcsdntool :

删除数据

以下实例删除了 x 为 1 和 x 为 2的数据,注意 limit 参数的区别:


    <?php
    $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.sites', $bulk, $writeConcern);
    ?>

更多使用方法请参考:http://php.net/manual/en/book.mongodb.php。

本专栏所有文章

第1章 MongoDB 教程 第2章 NoSQL 简介教程
第3章 MongoDB 简介教程 第4章 Windows MongoDB教程
第5章 Linux MongoDB教程 第6章 OSX MongoDB教程
第7章 MongoDB 概念解析教程 第8章 MongoDB 连接教程
第9章 MongoDB 创建数据库教程 第10章 MongoDB 删除数据库教程
第11章 MongoDB 创建集合教程 第12章 MongoDB 删除集合教程
第13章 MongoDB 插入文档教程 第14章 MongoDB 更新文档教程
第15章 MongoDB 删除文档教程 第16章 MongoDB 查询文档教程
第17章 MongoDB 条件操作符教程 第18章 MongoDB $type 操作符教程
第19章 MongoDB Limit与Skip方法教程 第20章 MongoDB 排序教程
第21章 MongoDB 索引教程 第22章 MongoDB 聚合教程
第23章 MongoDB 复制(副本集)教程 第24章 MongoDB 分片教程
第25章 MongoDB 备份与恢复教程 第26章 MongoDB 监控教程
第27章 MongoDB Java教程 第28章 MongoDB PHP 扩展教程
第29章 MongoDB PHP教程 第30章 MongoDB PHP7教程
第31章 Node.js MongoDB教程 第32章 MongoDB 关系教程
第33章 MongoDB 数据库引用教程 第34章 MongoDB 覆盖索引查询教程
第35章 MongoDB 查询分析教程 第36章 MongoDB 原子操作教程
第37章 MongoDB 高级索引教程 第38章 MongoDB 索引限制教程
第39章 MongoDB ObjectId教程 第40章 MongoDB Map Reduce教程
第41章 MongoDB 全文检索教程 第42章 MongoDB 正则表达式教程
第43章 MongoDB 管理工具教程 第44章 MongoDB GridFS教程
第45章 MongoDB 固定集合教程 第46章 MongoDB 自动增长教程

寄语

本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598文章来源地址https://www.toymoban.com/news/detail-434683.html

  • 他说要是回到当初,他会爱我,可是谁都知道,没有人可以让时光倒流,所以他永远不会爱上我。
  • 从来就没有救世主,人的命运操之在我,气可鼓而不可泄。
  • 人到中年才知道:孤独、痛苦、失败是人生不可缺少的调味品。
  • 不管做了多少,终究最后都是以成功和失败来论的,所以不要在意这个过程当中自己遭遇了多少的困难和痛苦,只要在最后能够成功就行了。
  • 太阳并不负责拒绝光线的角落。朋友,生活到大自然中去吧1人生就是一篇议论文:论点是理想,论据是生活,论证是工作。

到了这里,关于第30章 PHP7 MongDB 安装与使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu18.04 安装php7.4-xdebug

    场景 apt install php7.4-xdebug 下载失败, 只好通过编译解决了 解决 https://xdebug.org/wizard 输入php -i的执行结果

    2024年02月15日
    浏览(47)
  • php7使用openssl_encrypt函数进行AES加密

    前言 手上有个api对接需求,要用到AES加密,要用到openssl_encrypt函数,记录一下,鉴权要求大概如下。 将明文先base64加密,后取前16位 判断字符串的字节型数据长度是否为16倍整,如不是则进行补充(PKCS#7标准) 对字符串进行AES加密后base64加密,其中 iv=A-16-Byte-String 介绍 参数

    2023年04月08日
    浏览(28)
  • Ubuntu部署PHP7.4

    系统版本:Ubuntu22.04 PHP版本: 7.4 Mysql版本:8.0 Nginx版本: 最新 1. 更新系统 首先,确保系统包是最新的: 2. 安装 Nginx Nginx 在默认的 Ubuntu 仓库中,因此安装它很简单: 启动并使 Nginx 在启动时自动启动: 3. 安装 MySQL 8.0 列出MySQL的可用版本 使用以下命令安装您选择的版本,替换

    2024年02月11日
    浏览(28)
  • PHP快速实战20-PHP7中的垃圾回收机制与原理讲解

    本文已收录于PHP全栈系列专栏:PHP快速入门与实战 在计算机程序中,垃圾回收指的是一种自动管理内存的技术。在程序执行过程中,分配给它的内存会随着对象的创建和销毁不断发生变化,如果没有垃圾回收,这些不再被使用的内存会一直占用系统资源,最终导致系统崩溃。

    2024年02月08日
    浏览(38)
  • 【PHP面试题44】PHP5的版本和PHP7之间有哪些区别

    本文已收录于PHP全栈系列专栏:PHP面试专区。 计划将全覆盖PHP开发领域所有的面试题, 对标资深工程师/架构师序列 ,欢迎大家提前关注锁定。 PHP7相比与PHP5有比较大的调整,它们之间有很多区别。本篇博文将介绍PHP5和PHP7在底层调整和应用层上的主要区别。 PHP7相较于PHP5有

    2024年02月16日
    浏览(41)
  • 宝塔PHP7.1版本37个扩展作用介绍

    PATH_INFO:这个扩展可以让PHP获取到URL中的PATH_INFO信息,方便处理URL路由。 bt_safe:这个扩展可以帮助PHP防止一些常见的安全漏洞,比如SQL注入、XSS攻击等。 ionCube:这个扩展可以对PHP代码进行加密,保护代码的安全性。 fileinfo:这个扩展可以让PHP获取文件的类型和格式,方便处

    2024年02月06日
    浏览(41)
  • dedecms织梦php7+删除不了后台栏目的解决方法

    明明提示删除成功了,可是栏目还在后台栏目管理里,那是因为你的web环境PHP版本太高,例如PHP7的,织梦最新版本20180109还不能完全兼容PHP7,要么降低你的PHP版本为PHP5,要么修改一下这个文件。 PHP7+高版本环境下,织梦dedecms删除网站栏目失败。主要原因是语句书写不严谨,

    2024年02月03日
    浏览(34)
  • Centos7 更新php7.1到7.4的方法

    因为WordPress要求最低php版本为7.4,故有此篇。 系统版本:CentOS 7.9 第一步:查看已安装的php的所有包 第二步:卸载上述包 第三步:换下载源为remi 第四步:安装php7.4 注:扩展安装格式为php74-php-扩展模块名,缺什么扩展只要按照格式安装相应模块即可 第五步:查看是否安装成

    2024年02月05日
    浏览(32)
  • docker搭建lnmp(nginx+mysql57+php7.4)

    2.1安装docker-compose 2.2创建项目目录 2.3在项目目录下面创建docker-compose.yml 2.4在该目录下面创建nginx目录,然后创建 default.conf 配置文件 2.5在该目录下面创建web目录,然后创建 index.php 文件 2.6启动docker-compose 2.7访问 2.8停止docker-compose 2.9删除docker-compose 3.0查看docker-compose日志 3.1查

    2024年02月13日
    浏览(30)
  • php7.4生产环境压力测试CPU占用100%解决方案

        最近开发了一个项目,客户要求压力测试,测试时发现并发量大时php-fpm占用cpu一直100%,调整了php的最大进程数pm.max_children,优化了程序效果不明显。后面使用了opcache,cpu使用率一下降到20%左右。 什么是opcache?下面是百度: Opcache 的前生是  Optimizer+  ,它是PHP的官方公司

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包