yii 使用 mongodb 小工具 YiiMongoDbSuite
2015-07-20 17:11
501 查看
YiiMongoDbSuite下载链接: http://www.yiiframework.com/extension/yiimongodbsuite/
如果你的yii和mongodb它已经建立了一个良好的环境,和YiiMongoDbSuite它被放置protected/extensions
那么你protected/config/main.php 应该是这种
然后依据你自己的环境稍加改动就可以
接下来開始写代码了看controller层代码, 凝视部分为採用原生的写法类似于你使用Yii::app()->db来获取数据库连接一样
须要注意的问题:採用model调用save的方式保存跟原生insert保存差别不大,可是在查询时你的model层定义了那些属性仅仅会查出对应的属性,而其它的则不会查出来
比如上面这个model仅仅定义了$ac, $bc;2如果你插入一个属性collection在一个场‘ff’如果在查询的时刻没有显示出来
如果你的yii和mongodb它已经建立了一个良好的环境,和YiiMongoDbSuite它被放置protected/extensions
那么你protected/config/main.php 应该是这种
'import' => array( ... 'ext.YiiMongoDbSuite.*', ), 'components' => array( ... 'mongodb' => array( 'class' => 'EMongoDB', 'connectionString' => 'mongodb://localhost', 'dbName' => 'myDatabaseName', '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(); //$collection = Yii::app()->mongodb->getDbInstance()->selectCollection('pcztest'); //$content = array( // 'ac'=>'叶子-吴佰清', // 'bc'=>'吴佰清', // 'ff'=>234, // 'dd'=>4444, // 'cc'=>'cc' //); //$res = $collection->insert($content); 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’如果在查询的时刻没有显示出来
相关文章推荐
- windows下安装mongodb
- PHP 操作mongodb api大部分方法
- MongoDB中数据导入
- 深入浅出Symfony2 - 结合MongoDB开发LBS应用
- mongodb-driver-async 如何使用GridFS
- mongodb启动的一些警告处理方法
- MongoDB 的优点和缺点
- MongoDB3.0发布--新特性
- MongoDB复制集数据库拆分和版本升级实战
- Mongodb -(1) master-slave
- Mongodb持久化--journal探究(一)
- mongodb 持久化
- 【mongodb系统学习之七】mongodb的关闭
- MongoDB
- 用express、mongodb、nodejs开发简单的登陆
- mongoDB备份与恢复
- mongodb chunk 大小设置
- Mongodb Sharding 术语
- MongoDB sharding 算法
- MongoDB的一些特性