mongodb 高级应用
来源:互联网 发布:马哥linux怎么样 编辑:程序博客网 时间:2024/06/11 07:48
原文http://hi.baidu.com/bob_love/item/350786a31a2d73dc5bf191eb
1.条件操作符
<, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的
db.collection.find({ "field" : { $gt: value } } ); // 大于: field > value
db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value
db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value
db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value
如果要同时满足多个条件,可以这样做
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value
2.$all匹配所有
这个操作符跟SQL语法的in类似,但不同的是, in只需满足( )内的某一个值即可, 而$all必须满足[ ]内的所有值,例如:
db.users.find({age : {$all : [6, 8]}});
可以查询出 {name: 'David', age: 26, age: [ 6, 8, 9 ] }
但查询不出 {name: 'David', age: 26, age: [ 6, 7, 9 ] }
3.$exists判断字段是否存在
查询所有存在age字段的记录
db.users.find({age: {$exists: true}});
查询所有不存在name字段的记录
db.users.find({name: {$exists: false}});
举例如下:
C1表的数据如下:
查询存在字段age的数据
可以看出只显示出了有age字段的数据,age_1的数据并没有显示出来。
4.Null值处理
Null值的处理稍微有一点奇怪,具体看下面的样例数据:
其中”Lily”的age字段为空,Tom没有age字段,我们想找到age为空的行,具体如下:
奇怪的是我们以为只能找到”Lily”,但”Tom”也被找出来了,所以”null”不仅能找到它自身,连不存在age字段的记录也找出来了。那么怎么样才能只找到”Lily”呢?我们用exists来限制一下即可:
这样如我们期望一样,只有”Lily”被找出来了。
5.$ne不等于
查询x的值不等于3的数据
db.things.find( { x : { $ne : 3 } } );
举例如下:
C1表的数据如下:
查询age的值不等于7的数据
可以看出只显示出了age等于7的数据,其它不符合规则的数据并没有显示出来。
6.$in包含
查询age的值在7,8范围内的数据:
7.$nin不包含
8.$size数组元素个数
9.正则表达式匹配
10.count查询记录条数
11.skip限制返回记录的起点
12.sort
13.游标
象大多数数据库产品一样,MongoDB也是用游标来循环处理每一条结果数据,具体语法如下:
- mongodb 高级应用
- MongoDB JAVA API高级应用
- MongoDB高级
- 第二部分 应用篇 第五章 MongoDB高级查询
- MongoDB高级查询
- mongodb的高级查询
- MongoDB高级查询
- java mongodb 高级查询
- mongoDB高级查询
- mongodb高级查询语法
- MongoDB高级查询
- MongoDB高级查询
- MongoDB 高级聚合查询
- 细说MongoDB高级操作
- mongoDB高级操作
- MongoDB高级查询
- mongodb高级操作
- mongodb update 高级
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较)
- IOS学习之segmented control
- mcp2515带spi的can驱动移植总结
- Effective C++ Item 23 宁以non-member、non-friend替换member函数
- 春天来了?Win9和WP9将在2015年4月发布
- mongodb 高级应用
- YLGIFImage 高效读取GIF图片
- Ubuntu14.04_64安装与使用日记
- 机构自由度计算(笔记)
- 苹果Mac Pro提速停不下来
- WiFi,哪里才是你的家?
- SimpleDateFormat使用详解
- Linux设备上的Onvif实现18: ONVIF视频监视功能开发问题总结
- 华南理工大学赛后总结