YII2操作mongodb笔记(转)
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.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笔记(转)的更多相关文章
- PHP操作mongoDB 笔记
转自 http://blog.csdn.net/black_ox/article/details/22678747 命令也可以在参考http://www.jb51.net/article/51601. ...
- mongoose 操作 mongodb 笔记 (自己的笔记,自己看的)
mongodb下载/安装 mongoose npm install --save mongoose mongoose 数据库连接 const mongoose = require('mongoos ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
- MongoDB学习笔记:Python 操作MongoDB
MongoDB学习笔记:Python 操作MongoDB Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...
- Python学习笔记_03:简单操作MongoDB数据库
目录 1. 插入文档 2. 查询文档 3. 更新文档 4. 删除文档 1. 插入文档 # -*- coding: UTF-8 -*- import datetime from pymongo im ...
- Nodejs学习笔记(二)--- 操作MongoDB数据库
最近看了一些关于mongodb的文章,然后就想知道nodeJS是怎么连接的所以我就尝试去了解了一波(这个菜鸟驿站这个网站还不错,虽然知识文档不是最新的,但是还是蛮好的: 顺便官网地址是这个哦:http ...
- PHP 操作Mongodb 实例
缩略版本<?php //1.连接MongoDB $mongo = new Mongo(); $mongo = new Mongo("mongodb://username:passwor ...
- nodejs 操作mongodb, 增删改查
很久没有学node了,之前书看了一半,今天继续学发现版本问题很坑爹,按书例子执行一堆错误.想学nodejs操作db,百度半天,一堆sb写神马鸟玩儿?简简单单写一大堆还运行不了的.需要代码也是看别人写的 ...
- 在MVC模式下通过Jqgrid表格操作MongoDB数据
看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...
随机推荐
- html 语义化 资料
HTML: The Living Standard 理解HTML语义 什么是HTML语义化 为什么要语义化 写HTML代码时就注意什么 HTML 5的革新——语义化标签(一) header元素 foo ...
- ThinkPHP 3.2 Token表单令牌
/home/conf/config.php 中配置 'TOKEN_ON'=>true, 'TOKEN_NAME'=>'__hash__', 'TOKEN_TYPE'=>'md5', ...
- WebClient 使用
--post 请求 public static string PostMsg(Guid orgid, int page, int rows) { System.N ...
- 【BZOJ-3956】Count ST表 + 单调栈
3956: Count Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 173 Solved: 99[Submit][Status][Discuss] ...
- 【BZOJ-4568】幸运数字 树链剖分 + 线性基合并
4568: [Scoi2016]幸运数字 Time Limit: 60 Sec Memory Limit: 256 MBSubmit: 238 Solved: 113[Submit][Status ...
- 【BZOJ-1042】硬币购物 容斥原理 + 完全背包
1042: [HAOI2008]硬币购物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1811 Solved: 1057[Submit][Stat ...
- BZOJ1010 [HNOI2008]玩具装箱toy
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- Visual Studio多版本进行切换的研究
最近在升级公司内部的项目到最新的开发工具Visual Studio 2015,可能在团队开发上会遇到这些问题: 1.团队成员的电脑和系统,设置安装的开发工具参差不齐 2.有些成员的Visual Stu ...
- genymotion访问电脑的localhost
用来进行android测试时使用genymotion,genymotion是运行在virtualbox中的,virtualbox为两者建立了连接,在linux下通过ifconfig可以看到有一个叫做v ...
- hihocoder 1356 分隔相同整数
时间限制:10000ms单点时限:1000ms内存限制:256MB 描述 给定一个包含N个整数的数组A.你的任务是将A重新排列,使得任意两个相等的整数在数组中都不相邻. 如果存在多个重排后的数组满足条 ...