操作之前得保证已经安装了mongodb,windows下安装可参考另一篇博文:
http://my.oschina.net/chinahub/blog/479268
componets配置:
'mongodb' => [ 'class' => '\yii\mongodb\Connection', 'dsn' => 'mongodb://test:123456@127.0.0.1:27017/yiimongodb',],
控制器:
mongodb->getCollection ( 'customer' ); $res = $collection->insert ( [ 'name' => 'John Smith22', 'status' => 2 ] ); var_dump($res); } public function actionList() { $query = new Query (); $query->select ( [ 'name', 'status' ] )->from ( 'customer' )->offset ( 10 )->limit ( 10 ); $rows = $query->all (); var_dump ( $rows ); } public function actionView() { $query = new Query (); $row = $query->from ( 'customer' )->one (); echo Url::toRoute ( [ 'item/update', 'id' => ( string ) $row ['_id'] ] ); var_dump ( $row ['_id'] ); var_dump ( ( string ) $row ['_id'] ); } public function actionFind() { $provider = new ActiveDataProvider ( [ 'query' => Customer::find (), 'pagination' => [ 'pageSize' => 10 ] ] ); $models = $provider->getModels (); var_dump ( $models ); } public function actionQuery() { $query = new Query (); $query->from ( 'customer' )->where ( [ 'status' => 2 ] ); $provider = new ActiveDataProvider ( [ 'query' => $query, 'pagination' => [ 'pageSize' => 10 ] ] ); $models = $provider->getModels (); var_dump ( $models ); } public function actionSave() { $res = Customer::saveInfo (); var_dump ( $res ); }}
模型:
name = '111'; $customer->email = '222'; $customer->insert (); return $customer; } public function attributes() { return [ '_id', 'name', 'email', 'address', 'status' ]; }}
YII2的mongodb拓展下载:
中文网址:
常用命令 ,同mysql,eg:
db.createUser({"user":"test","pwd":"123456","roles":["readWrite","dbAdmin"]})
show users;
show dbs;
db.version();
db.stats();
use yiimongodb;
show collections;