yii框架:MongoDB 插件 YiiMongoDbSuite 使用方法
2014-10-28 23:01
627 查看
YiiMongoDbSuite下载地址: http://www.yiiframework.com/extension/yiimongodbsuite/
本文介绍yii框架使用 mongodb 数据库插件 YiiMongoDbSuite 的用法,阅读之前请确认mongodb环境已经搭建好(具体方法请参考本站其他教程),并且YiiMongoDbSuite已经放在protected/extensions路径下,因此你protected/config/main.php 应该是这样的
'import' => array(
...
'ext.YiiMongoDbSuite.*',
),
'components' => array(
...
'mongodb' => array(
'class' => 'EMongoDB',
'connectionString' => 'mongodb://localhost',
'dbName' => 'uncletoo',
'fsyncFlag' => true,
'safeFlag' => true,
'useCursor' => false
),
),
然后根据你自己的环境稍加修改参数即可。
接下来开始写代码了看controller层代码, 注释部分为采用原生的写法类似于你使用Yii::app()->db来获取数据库连接一样
class LoginController extends Controller
{
//根据id查找用户例如 http://localhost:8082/api/login/UserList/415824043082514432 注:先配置好vhost
public function actionUserList($num) {
$_result = UserMongo::model()->findUser($num);
//$collection = Yii::app()->mongodb->getDbInstance()->selectCollection('pcztest');
//$_result = $collection->find();
$this->sendResponse(200, $_result);
}
// http://localhost:8082/api/login
public function doRestCreate($data) {
$model = new UserMongo();
$model->ac = 'ac1';
$model->bc = 'bc2';
$res = $model->save();
var_dump($res);
}
}
然后是model代码
class UserMongo extends EMongoDocument
{
public $ac, $bc;
public static function model($className = __CLASS__) {
return parent::model($className);
}
public function getCollectionName()
{
return 'pcztest';
}
// public function tableName() {
// return '{{passport_users}}';
// }
public function findUser($n) {
$results = $this->findAll();
return $results;
}
}
需要注意的问题:采用model调用save的方式保存跟原生insert保存区别不大,但是在查询时你的model层定义了那些属性只会查出相应的属性,而其他的则不会查出来,例如上面这个model只定义了$ac, $bc;2个属性若你再插入collection中一个字段‘ff’的话在查询时是不会显示出来的。
本文介绍yii框架使用 mongodb 数据库插件 YiiMongoDbSuite 的用法,阅读之前请确认mongodb环境已经搭建好(具体方法请参考本站其他教程),并且YiiMongoDbSuite已经放在protected/extensions路径下,因此你protected/config/main.php 应该是这样的
'import' => array(
...
'ext.YiiMongoDbSuite.*',
),
'components' => array(
...
'mongodb' => array(
'class' => 'EMongoDB',
'connectionString' => 'mongodb://localhost',
'dbName' => 'uncletoo',
'fsyncFlag' => true,
'safeFlag' => true,
'useCursor' => false
),
),
然后根据你自己的环境稍加修改参数即可。
接下来开始写代码了看controller层代码, 注释部分为采用原生的写法类似于你使用Yii::app()->db来获取数据库连接一样
class LoginController extends Controller
{
//根据id查找用户例如 http://localhost:8082/api/login/UserList/415824043082514432 注:先配置好vhost
public function actionUserList($num) {
$_result = UserMongo::model()->findUser($num);
//$collection = Yii::app()->mongodb->getDbInstance()->selectCollection('pcztest');
//$_result = $collection->find();
$this->sendResponse(200, $_result);
}
// http://localhost:8082/api/login
public function doRestCreate($data) {
$model = new UserMongo();
$model->ac = 'ac1';
$model->bc = 'bc2';
$res = $model->save();
var_dump($res);
}
}
然后是model代码
class UserMongo extends EMongoDocument
{
public $ac, $bc;
public static function model($className = __CLASS__) {
return parent::model($className);
}
public function getCollectionName()
{
return 'pcztest';
}
// public function tableName() {
// return '{{passport_users}}';
// }
public function findUser($n) {
$results = $this->findAll();
return $results;
}
}
需要注意的问题:采用model调用save的方式保存跟原生insert保存区别不大,但是在查询时你的model层定义了那些属性只会查出相应的属性,而其他的则不会查出来,例如上面这个model只定义了$ac, $bc;2个属性若你再插入collection中一个字段‘ff’的话在查询时是不会显示出来的。
相关文章推荐
- Yii框架 Cookie的使用方法详解
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制以及使用单纯sql语句query时占位符的使用等
- Android上使用jspf插件框架的方法
- php yii框架使用MongoDb
- 使用Composer安装Yii框架的方法
- Yii框架中CGridView的使用方法以及详细示例
- 安装使用yii-debug-toolbar,yii框架的调试插件
- PHP的Yii框架使用中的一些错误解决方法与建议
- Yii框架中CGridView的使用方法以及详细示例
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- Yii框架 Cookie的使用方法详解
- yii 用 mongodb 插件 YiiMongoDbSuite
- Yii框架中CGridView的使用方法
- Yii框架查看原生态sql的实现方法和使用
- YII框架yiic、gii工具使用方法
- Yii框架自带缓存的使用方法
- yii框架builder、update、delete使用方法
- 分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法
- 使用Composer安装Yii框架的方法
- 解决yii框架中,使用参数化查询时,IN只能查询一个的代替方法