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 相关文章推荐
phpMyAdmin 安装及问题总结
May 28 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php 修改、增加xml结点属性的实现代码
Oct 22 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
php读取文件内容的方法汇总
Jan 24 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
JSON字符串传到后台PHP处理问题的解决方法
Jun 05 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
php中类和对象:静态属性、静态方法
Apr 09 PHP
浅谈laravel aliases别名的原理
Oct 24 PHP
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
Apr 01 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 中文和编码判断代码
2010/05/16 PHP
php使用codebase生成随机数
2014/03/25 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
Javascript 类与静态类的实现
2010/04/01 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
浅谈js中的bind
2019/03/18 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
轻松掌握python设计模式之访问者模式
2016/11/18 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
Python之str操作方法(详解)
2017/06/19 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
django的ORM模型的实现原理
2019/03/04 Python
python文件操作的简单方法总结
2019/11/07 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
最新创业融资计划书
2014/01/19 职场文书
机关单位动员会主持词
2014/03/20 职场文书
政审证明范文
2015/06/19 职场文书
医院保洁员管理制度
2015/08/05 职场文书
学校安全管理制度
2015/08/06 职场文书
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js