• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例

    本文实例讲述了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作。分享给大家供大家参考,具体如下:

    ThinkPHP 5.0 MongoDb驱动

    首先安装官方的mongodb扩展:

    http://pecl.php.net/package/mongodb

    找到对应的php版本的扩展

    然后,配置应用的数据库配置文件database.php的type参数为:

    'type' => '\think\mongo\Connection',
    
    

    即可正常使用MongoDb,例如:

    使用最新mongodb扩展

    Db::name('demo')
      ->find();
    Db::name('demo')
      ->field('id,name')
      ->limit(10)
      ->order('id','desc')
      ->select();
    
    

    或者使用模型操作:

    User::get(1);
    User::all('1,2,3');
    
    

    MongoDb默认的主键是_id并且是一个ObjectID对象,如果需要和mysql一样使用id作为主键,可以如下参数:

    // 强制把_id转换为id
    'pk_convert_id' => true,
    
    

    tp5 Mongodb特殊操作

    Push操作

    添加数据

    public function add(){
        $this->data = [
          '作者'  => 'tuzi',
          '年龄'  => '22',
          '标题'  => '防塔与补兵',
          '评论'  => [
            [
              '序号'  => '001',
              '内容'  => '五杀'
            ]
          ]
        ];
        $res = Db::table('document')->insert($this->data);
        if($res){
          echo "success";
        }else{
          echo "error";
        }
    }
    
    

    结果

    array(1) {
      [0] => array(5) {
        ["_id"] => object(MongoDB\BSON\ObjectId)#12 (1) {
          ["oid"] => string(24) "5a51f73083869e4b65549c36"
        }
        ["作者"] => string(4) "tuzi"
        ["年龄"] => string(2) "22"
        ["标题"] => string(15) "防塔与补兵"
        ["评论"] => array(1) {
          [0] => array(2) {
            ["序号"] => string(3) "001"
            ["内容"] => string(6) "五杀"
          }
        }
      }
    }

    利用push更新数据

    public function update()
    {
        $update_data['评论'] = [
          '$push',
          [
            '序号'  => '002',
            '内容'  => '三杀'
          ]
        ];
        $update_res = Db::table('document')->where('标题','防塔与补兵')->update($update_data);
        if($update_res){
          echo "success";
        }else{
          echo "error";
        }
    }
    
    

    结果

    array(1) {
      [0] => array(5) {
        ["_id"] => object(MongoDB\BSON\ObjectId)#12 (1) {
          ["oid"] => string(24) "5a51f73083869e4b65549c36"
        }
        ["作者"] => string(4) "tuzi"
        ["年龄"] => string(2) "22"
        ["标题"] => string(15) "防塔与补兵"
        ["评论"] => array(2) {
          [0] => array(2) {
            ["序号"] => string(3) "001"
            ["内容"] => string(6) "五杀"
          }
          [1] => array(2) {
            ["序号"] => string(3) "002"
            ["内容"] => string(6) "三杀"
          }
        }
      }
    }

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • 解决php扩展安装不生效问题
    • Mac下关于PHP环境和扩展的安装详解
    • mac pecl 安装php7.1扩展教程
    • PHP7 安装event扩展的实现方法
    • php使用pecl方式安装扩展操作示例
    • PHP安装BCMath扩展的方法
    • PHP扩展类型及安装方式解析
    上一篇:php curl优化下载微信头像的方法总结
    下一篇:thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例 TP5,thinkPHP5,框架,mongodb,扩展,