在Thinkphp3.1中使用Mongo的具体操作
最近研究Mongo项目都是用TP开发的,先介绍下Mongo在TP3.1中的用法
首先要确保你的PHP环境中已经安装好Mongo扩展,在实际项目中大多数都是Mysql数据库为主的,那么如何添加一个Mongo的连接呢,这里我们需要新建一个TP的模型
就叫做baseMongoModel代码如下,让他继承TP的MongoModel我们,这就是我们项目中的Mongo基类了,其中配置文件中的数据库名称和表前缀都需要重新申明,不知是TP的原因还是我的问题,反正这里重新顶一下即可。
弄好后,实例化baseMongo后我们的查询就可以和TP中Mysql的连贯操作一样的使用了,个人感觉还是蛮方便了,无需对mongo扩展的语句做过多的了解。
class baseMongoModel extends MongoModel { protected $connection = array( //数据库配置 'DB_TYPE' => 'mongo', // 数据库类型 'DB_HOST' => '192.168.1.1', // 服务器地址 'DB_NAME' => 'mytest', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '123456', // 密码 'DB_PORT' => '27017', // 端口 ); protected $dbName = 'mytest';//这里需要重新定义 protected $tablePrefix = 'qi_'; //protected $tableName = 'c2'; protected $pk = 'id';//主键名称 //protected $_idType = 2;//整形自动增长 //protected $_autoInc = true; }
$modelObj->field("name,email,age")->where(array('name'=>'xxx'))->select();
通过field方式选定字段查询时,mongo默认的_id字段是无论如何都会显示的。