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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php错误、异常处理机制(补充)
May 07 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
8个必备的PHP功能实例代码
Oct 27 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 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
php xml 入门学习资料
2011/01/01 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
Python使用turtule画五角星的方法
2015/07/09 Python
python制作图片缩略图
2019/04/30 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
django云端留言板实例详解
2019/07/22 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
python实现单机五子棋
2020/08/28 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
安全检查验收制度
2014/01/12 职场文书
函授药学自我鉴定
2014/02/07 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
环保倡议书
2014/04/14 职场文书
《社戏》教学反思
2014/04/15 职场文书
房展策划方案
2014/06/07 职场文书
上课不认真检讨书
2014/09/17 职场文书
交通事故和解协议书
2014/09/25 职场文书
2014年生产部工作总结
2014/12/17 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
三八妇女节致辞
2015/07/31 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
Mysql开启外网访问
2022/05/15 MySQL