componets配置:

'mongodb' => [
'class' => '\yii\mongodb\Connection',
'dsn' => 'mongodb://test:123456@127.0.0.1:27017/yiimongodb',
],

  

 

控制器:

<?php
namespace frontend\controllers;
use Yii;
use yii\helpers\Url;
use yii\mongodb\Query;
use yii\web\Controller;
use yii\data\ActiveDataProvider;
use frontend\models\Customer;
class MonController extends Controller
{
public function actionIndex()
{
$collection = Yii::$app->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 );
}
}

  

 

模型:

<?php
namespace frontend\models;
use yii\mongodb\ActiveRecord;
class Customer extends ActiveRecord
{
public static function collectionName()
{
return 'customer';
}
public function saveInfo()
{
$customer = new Customer ();
$customer->name = '111';
$customer->email = '222';
$customer->insert ();
return $customer;
}
public function attributes()
{
return [
'_id',
'name',
'email',
'address',
'status'
];
}
}

  

 

YII2的mongodb拓展下载:

https://github.com/yiisoft/yii2-mongodb

中文网址:

http://www.runoob.com/

http://www.mongoing.com/

http://www.cnblogs.com/libingql/archive/2011/06/09/2076440.html

常用命令 ,同mysql,eg:

db.createUser({"user":"test","pwd":"123456","roles":["readWrite","dbAdmin"]})

show users;

show dbs;

db.version();

db.stats();

use yiimongodb;

show collections;

  

YII2操作mongodb笔记(转)的更多相关文章

  1. PHP操作mongoDB 笔记

    转自 http://blog.csdn.net/black_ox/article/details/22678747 命令也可以在参考http://www.jb51.net/article/51601. ...

  2. mongoose 操作 mongodb 笔记 (自己的笔记,自己看的)

    mongodb下载/安装 mongoose   npm install --save mongoose mongoose 数据库连接 const mongoose = require('mongoos ...

  3. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  4. MongoDB学习笔记:Python 操作MongoDB

    MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...

  5. Python学习笔记_03:简单操作MongoDB数据库

    目录 1. 插入文档 2. 查询文档 3. 更新文档 4. 删除文档   1. 插入文档 # -*- coding: UTF-8 -*- import datetime from pymongo im ...

  6. Nodejs学习笔记(二)--- 操作MongoDB数据库

    最近看了一些关于mongodb的文章,然后就想知道nodeJS是怎么连接的所以我就尝试去了解了一波(这个菜鸟驿站这个网站还不错,虽然知识文档不是最新的,但是还是蛮好的: 顺便官网地址是这个哦:http ...

  7. PHP 操作Mongodb 实例

    缩略版本<?php //1.连接MongoDB $mongo = new Mongo(); $mongo = new Mongo("mongodb://username:passwor ...

  8. nodejs 操作mongodb, 增删改查

    很久没有学node了,之前书看了一半,今天继续学发现版本问题很坑爹,按书例子执行一堆错误.想学nodejs操作db,百度半天,一堆sb写神马鸟玩儿?简简单单写一大堆还运行不了的.需要代码也是看别人写的 ...

  9. 在MVC模式下通过Jqgrid表格操作MongoDB数据

    看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...

随机推荐

  1. 扩展easyUI tab控件,添加加载遮罩效果

    项目里要用HighChart显示图表,如果返回的数量量太多,生成图表是一个很耗时的过程.tab控件又没有显示遮罩的设置(至少本菜是没有找到), Google了一下,根据另一个兄台写的方法,拿来改造了一 ...

  2. VI,CI,UI

    一.VI VI全称Visual Identity, 即企业VI视觉设计,通译为视觉识别系统.是将CI的非可视内容转化为静态的视觉识别符号.设计到位.实施科学的视觉识别系统,是传播企业经营理念.建立企业 ...

  3. golang学习之旅:方法、函数使用心得

    假设要在$GOPATH/pkg/$GOOS_$GOARCH/basepath/ProjectName/目录下开发一个名为xxx的package.(这里basepath指的是github.com/mic ...

  4. 【BZOJ-2725】故乡的梦 Dijsktra + Tarjan + Dinic + BFS + 堆

    2725: [Violet 6]故乡的梦 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 502  Solved: 173[Submit][Status ...

  5. hdu3932 模拟退火

    模拟退火绝对是从OI--ACM以来接触过的所有算法里面最黑科技的orz 题意:地上有一堆hole,要找一个点,使得(距离该点最远的hole的距离)最小. sol:本来想套昨天的模拟退火模板,初值(0, ...

  6. static和public的区别

    static:静态.   可以设置:静态类.静态变量.静态方法.   没有使用static修饰的成员为实例成员. 静态成员的使用:通过类名.   1.不加static修饰的成员是对象成员,归每个对象所 ...

  7. GCD XOR, ACM/ICPC Dhaka 2013, UVa12716

    不同的枚举方法,效率完全不同.值得记录一下! #include <cstdio> #include <cstring> , count = ; ]; void pre() { ...

  8. MVC5-5 Razor引擎及视图结构

    View结构 其实给我们提供了官方的MvcDemo,就是在我们直接去新建一个不为空的MVC项目. 这里就是一个MVC的Demo了,可以看一下这个Demo中View的结构是什么 上图可以发现,有一个Sh ...

  9. C#获取文件的Md5值

            private string GetMd5(Stream fileStream)         {             MD5CryptoServiceProvider md5P ...

  10. linux 下各文件夹的功能性介绍。(转载)

    原文来自:http://www.cnblogs.com/wen858636827/archive/2012/12/26/2834373.html /opt   放置用户自己下载的软件  英文全称是op ...