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图片验证码代码
Mar 27 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
帝国cms常用标签汇总
Jul 06 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
让焦点自动跳转
2006/07/01 Javascript
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
浅谈JS的原型和继承
2019/05/08 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
Python标准库sched模块使用指南
2017/07/06 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
python实现银行账户系统
2021/02/22 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
标准自荐信范文
2014/01/29 职场文书
超市商业计划书
2014/05/04 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
医德医魂心得体会
2014/09/11 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python