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調用save的方式保存跟原生insert保存差別不大,可是在查詢時你的model層定義了那些屬性僅僅會查出對應的屬性,而其它的則不會查出來
比如上面這個model僅僅定義了$ac, $bc;2如果你插入一個屬性collection在一個場‘ff’如果在查詢的時刻沒有顯示出來
版權聲明:本文博客原創文章。博客,未經同意,不得轉載。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
