YiiMongoDbSuite下载链接: http://www.yiiframework.com/extension/yiimongodbsuite/
如果你的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仅仅定义了$ac, $bc;2如果你插入一个属性collection在一个场‘ff’如果在查询的时刻没有显示出来
版权声明:本文博客原创文章。博客,未经同意,不得转载。