看到Thinkphp网站上没有调用Mongodb的例子,就写一个一个最简的Thinkphp操作Mongodb的例子。欢迎讨论
【前提】
Thinkphp对Mongdb的支持依赖于PHP对Mongodb的支持。这是前提。如果出现类似“系统不支持:mongoClient”的提示,说明你的PHP还没支持Mongodb。
那么你需要做的就是
1、去https://github.com/mongodb/mongo-php-driver/downloads下载最新的PHP-Mongodb扩展包,下载后把和你PHP大版本相符合的文件重命名为php_mongo.dll
如,我的PHP是5.3.13,win7 64位系统,那么就把
php_mongo-1.3.2RC1-5.3-vc9-x86_64.dll改成php_mongo.dll
2、把改名后的文件复制到php的ext文件夹
3、修改php.ini ,增加 extension=php_mongo.dll
【配置】
修改配置文件如下,即可链接mongodb数据库:
<?php return array( //'配置项'=>'配置值' 'DB_TYPE' => 'mongo', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'local', // 数据库名 'DB_USER' => '', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => '27017', // 端口 );
【代码】
对于操作mongodb,要使用M方法。
因此要初始化一个类。假设数据库里有数据表user,那么要给user创建一个继承自MongoModel的模型:
<?php namespace Home\Model; use Think\Model\MongoModel; Class UserModel extends MongoModel { //可以是空的。 }
修改IndexController如下,即可调用Mongodb中local数据库里的user Collection
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $Model = D("User"); $Model->create(); $Model->name = '流年2'; $Model->add(); $a = $Model->select(); var_dump($a); } }