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 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
基于php split()函数的用法详解
Jun 05 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
PHP实现权限管理功能示例
Sep 22 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
php自动加载代码实例详解
Feb 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
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
各种快递查询--Api接口
2016/04/26 PHP
PHP 无限级分类
2017/05/04 PHP
JS定时器实例
2013/04/17 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
js实现购物车功能
2018/06/12 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
Python语言描述随机梯度下降法
2018/01/04 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
Pygame的程序开始示例代码
2020/05/07 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
Python操作Excel的学习笔记
2021/02/18 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
儿子婚宴答谢词
2014/01/09 职场文书
初中政治教学反思
2014/01/17 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
详解Golang如何优雅的终止一个服务
2022/03/21 Golang
Python实现数据的序列化操作详解
2022/07/07 Python