YiiMongoDbSuite下载链接: http://www.yiiframework.com/extension/yiimongodbsuite/

如果你的yii和mongodb它已经建立了一个良好的环境,和YiiMongoDbSuite它被放置protected/extensions

那么你protected/config/main.php 应该是这种

'import' => array(
...
'ext.YiiMongoDbSuite.*',
), 'components' => array(
...
'mongodb' => array(
'class' => 'EMongoDB',
'connectionString' => 'mongodb://localhost',
'dbName' => 'myDatabaseName',
'fsyncFlag' => true,
'safeFlag' => true,
'useCursor' => false
),
),

然后依据你自己的环境稍加改动就可以

接下来開始写代码了看controller层代码, 凝视部分为採用原生的写法类似于你使用Yii::app()->db来获取数据库连接一样

class LoginController extends Controller
{ //依据id查找用户比如 http://localhost:8082/api/login/UserList/415824043082514432 注:先配置好vhost
public function actionUserList($num) {
$_result = UserMongo::model()->findUser($num);
//$collection = Yii::app()->mongodb->getDbInstance()->selectCollection('pcztest');
//$_result = $collection->find();
$this->sendResponse(200, $_result);
} // http://localhost:8082/api/login
public function doRestCreate($data) {
$model = new UserMongo();
$model->ac = 'ac1';
$model->bc = 'bc2';
$res = $model->save(); //$collection = Yii::app()->mongodb->getDbInstance()->selectCollection('pcztest');
//$content = array(
// 'ac'=>'叶子-吴佰清',
// 'bc'=>'吴佰清',
// 'ff'=>234,
// 'dd'=>4444,
// 'cc'=>'cc'
//);
//$res = $collection->insert($content);
var_dump($res);
}
}

然后是model代码

class UserMongo extends EMongoDocument
{
public $ac, $bc;
public static function model($className = __CLASS__) {
return parent::model($className);
} public function getCollectionName()
{
return 'pcztest';
}
// public function tableName() {
// return '{{passport_users}}';
// } public function findUser($n) {
$results = $this->findAll();
return $results;
}
}

须要注意的问题:採用model调用save的方式保存跟原生insert保存差别不大,可是在查询时你的model层定义了那些属性仅仅会查出对应的属性,而其它的则不会查出来

比如上面这个model仅仅定义了$ac, $bc;2如果你插入一个属性collection在一个场‘ff’如果在查询的时刻没有显示出来

版权声明:本文博客原创文章。博客,未经同意,不得转载。

yii 使用 mongodb 小工具 YiiMongoDbSuite的更多相关文章

  1. MongoDB.WebIDE:升级版的Mongodb管理工具

    很早以前收藏了一片文章:<强大的MongoDB数据库管理工具>.最近刚好要做一些MongoDB方面的工作,于是翻出来温习了一下,用起来也确实挺方便.不过在使用过程中出现了一些个问题,加上更 ...

  2. sharedb结合elementUi编写的实时小工具

    我是使用sharedb 作为后端 ,然后前端使用的elementUI样式,编写的一个值班小工具.接下来,让我们先来了解一下sharedb是什么吧? sharedb工具 github地址:https:/ ...

  3. 2000条你应知的WPF小姿势 基础篇<45-50 Visual Tree&Logic Tree 附带两个小工具>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C# 和 2,0 ...

  4. 【原】得心应手小工具开发——IE代理快速切换工具

    一.引入 因为公司里上外网要经常换IE代理地址,每次切换地址都要进到Internet Options里去设置一番,经常切换的话很是麻烦,由于用了点时间作个小工具来方便自己. 二.实现思路 其实思路很简 ...

  5. ContentProvider域名替换小工具

    开发项目域名想怎么换就怎么换,就是这么任性! 这是一个很有意思的小工具! 这是一个方便开发人员和测试人员的小工具!! 吐槽: 一直在做Android开发,一直总有一个问题存在:做自己公司的apk开发时 ...

  6. c 小工具的使用

    1. 这是一个gps 数据过滤的小工具,目的是过滤到gps数据中不符合要求的数据,然后转为json 数据 需要两个小工具 bermuda.c   ------>  过滤一定范围的数据 geo2j ...

  7. 偷懒小工具 - SSO单点登录通用类(可跨域)

    写在前面的话 上次发布过一篇同样标题的文章.但是因为跨域方面做得不太理想.我进行了修改,并重新分享给大家. 如果这篇文章对您有所帮助,请您点击一下推荐.以便有动力分享出更多的"偷懒小工具&q ...

  8. [原创] Delphi小工具(Windows资源管理器右键菜单扩展)

    两个小工具 1. 项目临时文件清理 2. Android Ndk 编译 c/c++ jni 源码工具. 下载后,点击Reg.bat就可以完成注册安装.不需要时点击 UnReg.Bat 就可以删除菜单. ...

  9. 介绍两个Ubuntu上的桌面小工具

    经常使用Windows10,Sticky Notes和壁纸自动切换功能挺好用的.我经常会使用Sticky Notes来记录一些信息,内容是实时保存的,而且启动的时候会自动显示在桌面上.其实Ubuntu ...

随机推荐

  1. URAL 1553. Caves and Tunnels 树链拆分

    一颗树 每次出发点右键值是0 2操作模式1.第一i右键点值添加x 2.乞讨u至v在这条路上右上方值 树为主的连锁分裂称号 #include <cstdio> #include <cs ...

  2. Directx11学习笔记【四】 封装一个简单的Dx11DemoBase

    根据前面两个笔记的内容,我们来封装一个简单的基类,方便以后的使用. 代码和前面类似,没有什么新的内容,直接看代码吧(由于代码上次都注释了,这次代码就没怎么写注释o(╯□╰)o) Dx11DemoBas ...

  3. atitit.404错误调查过程汇总

    atitit.404错误调查过程汇总 #----------jsp  head  errorPage="" del zeu ok le. #------resin server. ...

  4. PHP第七课 使用方法数组2

    学习平台: 1.了解数组函数 2.输出随机验证码 1.数组函数: 数组函数: //作用:提供了非常多官方写的非常实用的代码段,提高编写速度. 1.数组的键值操作函数 2.统计数组的元素和唯一性 3.使 ...

  5. 菜鸟学SSH(十二)——Hibernate与Spring配合生成表结构

    前几天向大家介绍了一种用工具类生成数据表的方法,只是之前的方法须要使用一个跟项目关系不大的工具类.不免让人认为有些多余,所以呢.今天再向大家介绍一种方法.即Hibernate与Spring配合生成表结 ...

  6. SQLServer 扫盲

    原文:SQLServer 扫盲 谨以本文记录本人成长历程,并分享给各位SQL Server数据库管理系统使用者.本系列包含个人认为一个DBA应该具有的各项素质,系列文章将以下面列表展示,将持续更新,敬 ...

  7. 【转】Jython简单入门

    1. 用Jython调用Java类库 第一步.创建Java类 写一个简单的Java类,用Point来示例: import org.python.core.*; public class Point e ...

  8. Python 获取Twitter用户与Friends和Followers的关系(eg, 交集,差集)

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-30 @author: guaguastd @name: f ...

  9. 移动端 常见问题整理 iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案

    使用iScroll时,input等不能输入内容的解决方法 <script> function allowFormsInIscroll(){ [].slice.call(document.q ...

  10. [ACM] POJ 2342 Anniversary party (树DP获得冠军)

    Anniversary party Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4410   Accepted: 2496 ...