php对mongodb的扩展(初出茅庐)


Posted in PHP onNovember 11, 2012

我们的php mongodb也能做mysql、sqlserver能做的几乎所有功能,本文将详细介绍

一、操作符
操作符相信大家肯定都知道了,就是等于、大于、小于、不等于、大于等于、小于等于,但是在mongodb里不能直接使用这些操作符。在mongodb里的操作符是这样表示的:
(1) $gt > (大于)

 
(2) $lt

< (小于)

 
(3) $gte

>= (大于等于)
(4) $lt

<= (小于等于)


(5) $ne

!= (不等于) 
(6) $in

in (包含)


(7) $nin

not in (不包含)


(8) $exists

exist (字段是否存在) 
(9) $inc

对一个数字字段field增加value
(10) $set

就是相当于sql的set field = value
(11) $unset

就是删除字段


(12) $push

把value追加到field里面去,field一定要是数组类型才行,如果field不存在,会新增一个数组类型加进去
(13) $pushAll

同$push,只是一次可以追加多个值到一个数组字段内
(14) $addToSet

增加一个值到数组内,而且只有当这个值不在数组内才增加。
(15) $pop

删除最后一个值:{ $pop : { field : 1 } }删除第一个值:{ $pop : { field : -1 } }注意,只能删除一个值,也就是说只能用1或-1,而不能用2或-2来删除两条。mongodb 1.1及以后的版本才可以用
(16) $pull

从数组field内删除一个等于value值
(17) $pullAll

同$pull,可以一次删除数组内的多个值
(18) $ 操作符

是他自己的意思,代表按条件找出的数组里面某项他自己。这个比较坳口,就不说了。

二、CURD 增、改、读、删
增加

db.collection->insert({'name' => 'caleng', 'email' => 'admin#admin.com'});

是不是灰常简单呀,对就是这么简单,它没有字段的限制,你可以随意起名,并插入数据

修改

db.collection.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } ); 只更新了第一条大于1记录 
db.collection.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true ); 大于3的记录 全更新了 
db.collection.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); 大于4的记录 只加进去了第一条 
db.collection.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true ); 大于5的记录 全加进去

查询
db.collection.find(array('name' => 'bailing'), array('email'=>'email@qq.com')) 
db.collection.findOne(array('name' => 'bailing'), array('email''email@qq.com'))

大家可以看到查询我用了两种不同的写法,这是为什么,其实这跟做菜是一样的,放不同的调料,炒出的菜是不同的味道。下面给大家说一下,这两种调料的不同作用。
findOne()只返回一个文档对象,find()返回一个集合列表。
也就是说比如,我们只想查某一条特定数据的详细信息的话,我们就可以用findOne();
如果想查询某一组信息,比如说一个新闻列表的时候,我们就可以作用find();
那么我想大家这时一定会想到我想对这一个列表排序呢,no problem mongodb会为您全心全意服务
db.collection.find().sort({age:1}); //按照age正序排列 
db.collection.find().sort({age:-1}); //按照age倒序排列 
db.collection.count(); //得到数据总数 
db.collection.limit(1); //取数据的开始位置 
db.collection.skip(10); //取数据的结束位置 
//这样我们就实现了一个取10条数据,并排序的操作。

删除
删除有两个操作 remove()和drop()
db.collection.remove({"name",'jerry'}) //删除特定数据 
db.collection.drop() //删除集合内的所有数据

distinct操作
db.user.distinct('name', {'age': {$lt : 20}})

噢!一口气写太多了,大家看太多也不易消化。今天就到这里吧,明天接着写php对mongodb的操作,尽请期待哦!不能再写了,不然的话明天会变熊猫。good night. have a good dream.
PHP 相关文章推荐
php对gzip文件或者字符串解压实例参考
Jul 25 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
php文件夹的创建与删除方法
Jan 24 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
Aug 11 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
php中类和对象:静态属性、静态方法
Apr 09 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP接入支付宝接口失效流程详解
Nov 10 PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 PHP
PHP面向对象——访问修饰符介绍
Nov 08 #PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 #PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
Nov 07 #PHP
PHP正确解析UTF-8字符串技巧应用
Nov 07 #PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 #PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 #PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 #PHP
You might like
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
Cookie 小记
2010/04/01 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
介绍一下gcc特性
2015/10/31 面试题
常见的软件开发流程有哪些
2015/11/14 面试题
中英文自我评价语句
2013/12/20 职场文书
新闻编辑求职信
2014/04/09 职场文书
初三开学计划书
2014/04/27 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
课外活动实习计划
2015/01/19 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
2015元旦感言
2015/12/09 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书