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实现文件上传二法
Oct 09 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
PHP运行模式的深入理解
Jun 03 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
举例详解PHP脚本的测试方法
Aug 05 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 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 aes (ecb)解密后乱码问题
2015/06/22 PHP
php邮箱地址正则表达式验证
2015/11/13 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
详解python数据结构和算法
2019/04/18 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python @property及getter setter原理详解
2020/03/31 Python
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
大学毕业生个人自荐信范文
2014/01/08 职场文书
世界环境日活动总结
2015/02/11 职场文书
年度考核表个人总结
2015/03/06 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang