YiiMongoDbSuite下載鏈接:?http://www.yiiframework.com/extension/yiimongodbsuite/
如果你的yii和mongodb它已經(jīng)建立了一個良好的環(huán)境,和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
),
),
然后依據(jù)你自己的環(huán)境稍加改動就可以
接下來開始寫代碼了看controller層代碼, 凝視部分為採用原生的寫法類似于你使用Yii::app()->db來獲取數(shù)據(jù)庫連接一樣
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;
}
}
須要注意的問題:採用model調(diào)用save的方式保存跟原生insert保存差別不大,可是在查詢時你的model層定義了那些屬性僅僅會查出對應的屬性,而其它的則不會查出來
比如上面這個model僅僅定義了$ac, $bc;2如果你插入一個屬性collection在一個場‘ff’如果在查詢的時刻沒有顯示出來
版權(quán)聲明:本文博客原創(chuàng)文章。博客,未經(jīng)同意,不得轉(zhuǎn)載。
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

