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虽然概念新颖,但是 ...
随机推荐
- Cygwin使用方法
对于 UNIX 本身,也有各种称呼.IBM® 大型机用户说各种带字母 “z” 的行话,比如 IBM z/OS® 和 System z9 Virtual Machine (z/VM):嵌套系统开发人员使 ...
- iOS 蓝牙开发(四)BabyBluetooth蓝牙库介绍(转)
转载自:http://www.cocoachina.com/ios/20151106/14072.html 原文作者:刘彦玮 BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBlue ...
- c# 文件转换成base64
private static void ReadFromFile() { FileStream fsForRead = new FileStream("c9a78c8a-29b0-410d- ...
- socket入门
结构图如下 一个套接字就是socket模块中的socket类的一个实例.实例化时需要3个参数 地址族:默认(socket.AF_INET) 流:默认(socket.SOCK_STREAM) 或数据报 ...
- [聚类算法] K-means 算法
聚类 和 k-means简单概括. 聚类是一种 无监督学习 问题,它的目标就是基于 相似度 将相似的子集聚合在一起. k-means算法是聚类分析中使用最广泛的算法之一.它把n个对象根据它们的属性分为 ...
- IOS开发中UI编写方式——code vs. xib vs.StoryBoard
最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...
- 【BZOJ-1068】压缩 区间DP
1068: [SCOI2007]压缩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1001 Solved: 615[Submit][Status][ ...
- 【poj3522】 Slim Span
http://poj.org/problem?id=3522 (题目链接) 题意 求最小生成树的最大边与最小边差最小. Solution 排序后滑动窗口维护 代码 // poj3522 #includ ...
- SQL Server在更改计算机名后的设置
把原来的账号删除 再添加现有的账号 添加权限 搞定了上面的账号配置,接下来就是设置服务器名称 参考:http://www.cnblogs.com/EasonJim/p/6114249.html 后话: ...
- 单向关系中的JoinColumn
1.person与address的一对一单向关系: 在address中没有特殊的注解. 在Person中对应到数据库里面就有一个指向Address的外键. 我们也可以增加注释指定外键的列的名字,如下: ...