thinkphp框架操作mongo

来源:互联网 发布:虚拟centos7网络配置 编辑:程序博客网 时间:2024/06/05 15:12

环境:Windows10 php5.6 mongo1.6.9 thinkphp3.2.3

mongo版本:

php版本:




------------------------------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------------------------
1.首先安装windows mongo(到官网下载安装包msi)
2.安装php_mongo驱动(关于驱动问题具体百度,mongo是一个数据库,用户需要一个中介连接他,就是php_mongo);下载对应版本php_mongo,修改php.ini增加extension=php_mongo.dll
3.使用php原生语句测试连接mongo数据库。具体操作代码
$connect = new MongoClient();//因为已经抛弃mongo()连接方式。使用mongoclient连接数据
print_r($m->listDBs()); //打印数据库
4.使用thinkphp连接数据库。
4.1首先建立一个共用model,commonmodel代码如下:
<?php
namespace Common\Model;
use Think\Model\MongoModel;
class CommonModel extends MongoModel{//注意继承的是mongomodel而不是model
protected $tableName        =   'test'; 
//指定要操作的集合test
    protected $dbName           =   'test';
//指定操作test数据库
}
4.2然后在模块下继承公共Model。
例如我在Admin模块下继承公共Model,代码如下:
<?php
namespace Admin\Model;
use Common\Model\CommonModel;
class OnlineuserModel extends CommonModel{

}
4.3在控制器的方法里实例化所需model,代码如下:
$user = D('onlineuser');//与在mysql实例化model没有区别
4.4测试代码,插入数据,代码如下:
$data=array(  
          "name"=>"张三",  
          "addr"=>"广州",  
          "sex"=>"女",  
          "info"=>array(  
              "age"=>10,  
              "phone"=>"12345",  
            )  
        ); 
     $map['name'] = "张三";
     $result = $user->where($map)->select();//查询刚刚插入的数据
     dump($result);