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 相关文章推荐
多文件上传的例子
Oct 09 PHP
php之字符串变相相减的代码
Mar 19 PHP
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
PHP PDOStatement::bindValue讲解
Jan 30 PHP
laravel orm 关联条件查询代码
Oct 21 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数据库开发知多少
2006/10/09 PHP
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
jQuery JSON的解析方式分享
2011/04/05 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
Javascript通过控制类名更改样式
2019/05/24 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
学生会竞选自荐信
2013/10/12 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android