YiiMongoDbSuite下載鏈接:?http://www.yiiframework.com/extension/yiimongodbsuite/
如果你的yii和mongodb它已經(jīng)建立了一個(gè)良好的環(huán)境,和YiiMongoDbSuite它被放置protected/extensions
那么你protected/config/main.php 應(yīng)該是這種
'import' => array( ... 'ext.YiiMongoDbSuite.*', ), 'components' => array( ... 'mongodb' => array( 'class' => 'EMongoDB', 'connectionString' => 'mongodb://localhost', 'dbName' => 'myDatabaseName', 'fsyncFlag' => true, 'safeFlag' => true, 'useCursor' => false ), ),
然后依據(jù)你自己的環(huán)境稍加改動(dòng)就可以
接下來(lái)開(kāi)始寫代碼了看controller層代碼, 凝視部分為採(cǎi)用原生的寫法類似于你使用Yii::app()->db來(lái)獲取數(shù)據(jù)庫(kù)連接一樣
class LoginController extends Controller { //依據(jù)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; } }
須要注意的問(wèn)題:採(cǎi)用model調(diào)用save的方式保存跟原生insert保存差別不大,可是在查詢時(shí)你的model層定義了那些屬性僅僅會(huì)查出對(duì)應(yīng)的屬性,而其它的則不會(huì)查出來(lái)
比如上面這個(gè)model僅僅定義了$ac, $bc;2如果你插入一個(gè)屬性collection在一個(gè)場(chǎng)‘ff’如果在查詢的時(shí)刻沒(méi)有顯示出來(lái)
版權(quán)聲明:本文博客原創(chuàng)文章。博客,未經(jīng)同意,不得轉(zhuǎn)載。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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