在Thinkphp3.1中使用Mongo的具体操作
最近研究Mongo项目都是用TP开发的,先介绍下Mongo在TP3.1中的用法
首先要确保你的PHP环境中已经安装好Mongo扩展,在实际项目中大多数都是Mysql数据库为主的,那么如何添加一个Mongo的连接呢,这里我们需要新建一个TP的模型
就叫做baseMongoModel代码如下,让他继承TP的MongoModel我们,这就是我们项目中的Mongo基类了,其中配置文件中的数据库名称和表前缀都需要重新申明,不知是TP的原因还是我的问题,反正这里重新顶一下即可。
弄好后,实例化baseMongo后我们的查询就可以和TP中Mysql的连贯操作一样的使用了,个人感觉还是蛮方便了,无需对mongo扩展的语句做过多的了解。
class baseMongoModel extends MongoModel {
    protected $connection  = array(
            //数据库配置
            'DB_TYPE' => 'mongo', // 数据库类型
            'DB_HOST' => '192.168.1.1', // 服务器地址
            'DB_NAME' => 'mytest', // 数据库名
            'DB_USER' => 'root', // 用户名
            'DB_PWD' => '123456', // 密码
            'DB_PORT' => '27017', // 端口
        );
    protected $dbName = 'mytest';//这里需要重新定义
    protected $tablePrefix = 'qi_';
    //protected $tableName = 'c2';
    protected $pk = 'id';//主键名称
    //protected $_idType = 2;//整形自动增长
    //protected $_autoInc =  true;
}
$modelObj->field("name,email,age")->where(array('name'=>'xxx'))->select();
通过field方式选定字段查询时,mongo默认的_id字段是无论如何都会显示的。
在Thinkphp3.1中使用Mongo的具体操作的更多相关文章
- ThinkPHP3.2中if判断条件是两个变量
		
<select name="typeId"> <foreach name="typeInfo" item="v"> ...
 - 关于thinkphp3.2中的U函数使用的是二级域名但是U函数生成的还是WWW开头的域名
		
关于thinkphp3.2中的U函数使用的是二级域名但是U函数生成的还是WWW开头的域名 查看代码是由于U函数中对开启 APP_SUB_DOMAIN_DEPLOY 子域名部署 加的额外设置 如果你使 ...
 - 在Docker中创建Mongo容器的后续设置
		
后续设置包括设置数据库管理员账号密码.创建业务数据库以及设置账户密码 需要注意的是,在创建Mongo容器后,需要映射到本机 以管理员身份打开powershell 先切换到mongdo bash # ` ...
 - thinkphp3.2 中 Memcache 的配置和使用(memcahe的使用场景)
		
Thinkphp的默认缓存方式是以File方式,在/Runtime/Temp 下生成了好多缓存文件. TIPS: TP3.2支持的缓存方式有:数据缓存类型,支持:File|Db|Apc|Memcach ...
 - mongo的基本命令操作
		
基本用法学习:https://www.runoob.com/mongodb/mongodb-create-database.html MongoDB数据库基本用法 show dbs:显示数据库列表 s ...
 - C语言中关于对目录的操作
		
原文地址:C语言中关于对目录的操作 目录的操作不论是在嵌入式产品还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,笔者主要是讨论在Linux平台下对目录的一系列操作: 1.获取当前目录操作: ...
 - Node.js 中MongoDB的基本接口操作
		
Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection(& ...
 - Linux 中 Vi 编辑器的简单操作
		
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
 - JS中基本window.document对象操作以及常用事件!
		
一.找到元素 1.document.getELementById("id"):根据id找,最多找一个. var a=document.getELementById("id ...
 
随机推荐
- hadoop配置环境变量
			
hadoop安装包解压 tar -xvf hadoop-2.7.7.tar.gz 解压成功ll查看文件 配置环境变量 1. vi /home/wj/hadoop-2.7.7/etc/hadoop/h ...
 - MySQL数据库用户、角色、授权
			
权限包括 insert delete update select all privileges 登录MySQL > mysql -uroot -p Enter password ...
 - spring同时操作多数据库 多个mysql和mongoDB,不需切换数据源,同时操作mysql和mongodb
			
源码:https://github.com/haihai1172/spring-mysql-mongoDB 项目目录 1.环境搭建,java-sdk 1.8 具体怎么搭建,就不说了 2.配置jdbc. ...
 - cogs 364. [HDU 1548] 奇怪的电梯 Dijkstra
			
364. [HDU 1548] 奇怪的电梯 ★ 输入文件:lift.in 输出文件:lift.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 呵呵,有一天我做了 ...
 - RSA 的加密 解密
			
RSA加密解密类: package me.hao0.trace.order; import java.io.BufferedReader; import java.io.BufferedWriter; ...
 - 前端笔记5-js1
			
一.在JS中一共有6种数据类型1. String 字符串2. Number 数值3. Boolean 布尔值4. Null 空值5. Undefined 未定义6. Object 对象 其中 Stri ...
 - NIO&AIO编程模型
			
NIO线程模型 什么是NIO线程模型? 上图是NIO的线程模型, 基于select实现, 这种线程模型的特点: 多条channel通过一个选择器和单挑线程绑定, 并且在这种编程模型中, Cha ...
 - Docker安装之路
			
从3月初到现在,一直在安装docker 的路上越走越远,大概就在1个小时前,我终于成功了,那一刻,我觉得我拥有了整个世界,于是乎,拥有了整个世界的我决定草率的并粗略的记录一下安装过程中遇到的我能记住的 ...
 - jquery的版本 纵多 , 各个版本的插件的融合  ,
			
有些插件在哪些版本下没有 插件之间因为版本冲突 是得不偿失的事情
 - [计算几何+图论]doge
			
题意 在平面直角坐标系上,你有一只doge在原点处.doge被绳子拴住了,绳子不会打结,没有弹性(但很柔软),并且长度为L.平面上有一些目标,因此你的doge会按照顺序去捡起它们,但是doge只能走直 ...