它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

thinkPHP 3.2.3操作MongoDB指南

Posted on 2017-11-14 13:31  陈达辉  阅读(1666)  评论(0编辑  收藏  举报

今天使用thinkPHP操作MongoDB发现跟用MYSQL有很多不同的地方,在这里特别跟大家分享下.

暂时没用thinkPHP5一直还在用thinkPHP3.2.3觉得挺好用,MongoDB版本2和3均测试通过.

config.php

//连接mongoDB
    'DB_TYPE'    => 'mongo',             // 数据库类型
    'DB_HOST'    => '127.0.0.1',  // 服务器地址
    'DB_NAME'    => 'local',             // 数据库名
    'DB_USER'    => '',                 // 用户名
    'DB_PWD'     => '',                 // 密码
    'DB_PORT'    => '27017',             // 端口
    'DB_CHARSET' =>  'utf8',             // 数据库编码
    'DB_DEBUG'   =>  false,                // 数据库调试模式 开启后可以记录SQL日志

 

IndexController.class.php

<?php
namespace Home\Controller;
use Home\Model\ColModel;
use Think\Controller;
class IndexController extends Controller {
    //http://localhost/testmdb/Index
    //增
    public function index(){
        $db = D("Col");
        $data['name'] = '张雷帅哥';
        $data['reg']  = time();
        $returl       = $db ->add($data);
        var_dump($returl);
    }
    //http://localhost/testmdb/Index/chaxun/name/张雷帅哥
    //查
    public function chaxun($name=''){
        $db     = D("Col");
        $returl = $db ->where(array("name"=>$name)) ->select();
        var_dump($returl);
    }
    //http://localhost/testmdb/Index/xiugai/name/张雷帅哥
    //改
    public function xiugai($name=''){
        $db          = D("Col");
        $data['reg'] = '20170310';
        $returl      = $db ->where(array("name"=>$name)) ->save($data);
        var_dump($returl);
    }
    //http://localhost/testmdb/Index/shan/id/58c2483e4b1486d073000032
    //删
    public function shan($id=''){
        $db     = D("Col");
        $returl = $db ->where(array("_id"=>$id)) ->delete();
        var_dump($returl);
    }
}

 

ColModel.class.php

<?php
namespace Home\Model;
use Think\Model\MongoModel;
Class ColModel extends MongoModel{
}