引入 yiisoft/yii2-mongodb
composer require --prefer-dist yiisoft/yii2-mongodb
<?php
namespace api\v1\controllers;
use api\common\controllers\CommonController;
use yii\mongodb\Query;
use yii\data\ActiveDataProvider;
use common\models\Mymongo;
use Yii;
class MongoController extends CommonController
{
public function actionInsert()
{
// insert 操作
$collection = Yii::$app->mongodb->getCollection('customer');
$res = $collection->insert([
'name' => 'wbj',
'age' => 30
]);
return $res;
}
public function actionList()
{
$query = new Query();
$query->select([
'name',
])->from('customer')->offset(10)->limit(10);
$rows = $query->all();
return $rows;
}
public function actionOne()
{
$query = new Query();
$row = $query->from('customer')->one();
return $row;
}
public function actionFind()
{
$provider = new ActiveDataProvider([
'query' => Customer::find(),
'pagination' => [
'pageSize' => 10
]
]);
$models = $provider->getModels();
var_dump($models);
}
public function actionProvider()
{
$query = new Query();
$query->from('customer')->where([
'status' => '222'
]);
$provider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 10
]
]);
$models = $provider->getModels();
var_dump($models);
}
public function actionSave()
{
$res = Customer::saveInfo();
return $res;
}
}
<?php
namespace common\models;
class Customer extends \yii\mongodb\ActiveRecord
{
public static function collectionName()
{
return 'customer';
}
public function saveInfo()
{
$customer = new Customer ();
$customer->name = '111';
$customer->email = '222';
$customer->status = '222';
$customer->insert();
return $customer;
}
public function attributes()
{
return [
'_id',
'name',
'email',
'address',
'status'
];
}
}