它山之石可以攻玉

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

thinkphp mysql和mongodb 完美使用

Posted on 2017-09-13 15:12  陈达辉  阅读(2537)  评论(0编辑  收藏  举报

thinkphp mysql和mongodb 完美使用。
第一步:在你的应用的Model文件下建立一个MonModel如下图

第二步:MonModel的内容如下

 1 <?php
 2 /**
 3 * Created by PhpStorm.
 4 * User: Administrator
 5 * Date: 2015/12/16
 6 * Time: 15:29
 7 */
 8 namespace Admin\Model;
 9 use Think\Model\MongoModel;
10 Class MonModel extends MongoModel
11 {
12 public function __construct($name, $tablePrefix, $connection)
13 {
14 parent::__construct($name, $tablePrefix, $connection);
15 $this->trueTableName=$name;//要连接的那个集合(表)控制器里传过来
16 }
17 protected $dbName='name';//(要连接的数据库名称)
18 protected $connection = array(
19 'db_type' => 'mongo',
20 'db_user' => 'admin',//用户名(没有留空)
21 'db_pwd' => 'admin',//密码(没有留空)
22 'db_host' => '127.0.0.1',//数据库地址
23 'db_port' => '27017',//数据库端口 默认27017
24 );
25 protected $_idType = self::TYPE_INT; //参考手册
26 protected $_autoinc = true;//参考手册
27 /* public function getall()
28 {
29 return $this->select();
30 }*/
31 }

第三步:你就可以在你的控制器里用这个MonModel去操作mongodb了。
如下

 1 <?php
 2 namespace Admin\Controller;
 3 use Admin\Model\MonModel;
 4 use Common\Controller\YouKangController;
 5 class AuController extends YouKangController {
 6 public function index()
 7 {
 8 $M= new MonModel('movie');//movie是集合名(表名)
 9 diedump($M->select());
10 }
11 }