Condition Operator
为了测试,我们首先进行数据准备。
db.col.find().pretty();
{
	"_id" : ObjectId("59396dd67ad7ebedf2146587"),
	"title" : "MongoDB",
	"description" : "MongoDB 是一个 Nosql 数据库",
	"by" : "Runoob",
	"url" : "http://www.runoob.com",
	"tags" : [
		"mongodb",
		"NoSQL"
	],
	"likes" : 110
}
首先对数据进行清除
> db.col.remove({});
WriteResult({ "nRemoved" : 1 })
插入数据
> db.col.insert({
...     title: 'PHP 教程', 
...     description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
...     by: '菜鸟教程',
...     url: 'http://www.runoob.com',
...     tags: ['php'],
...     likes: 200
... });
WriteResult({ "nInserted" : 1 })
> db.col.insert({title: 'Java 教程', 
...     description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
...     by: '菜鸟教程',
...     url: 'http://www.runoob.com',
...     tags: ['java'],
...     likes: 150
... });
WriteResult({ "nInserted" : 1 })
> db.col.insert({title: 'MongoDB 教程', 
...     description: 'MongoDB 是一个 Nosql 数据库',
...     by: '菜鸟教程',
...     url: 'http://www.runoob.com',
...     tags: ['mongodb'],
...     likes: 100
... });
WriteResult({ "nInserted" : 1 })
- MongoDB (>) 大于操作符 - $gt
如果你想获取 “col” 集合中 “likes” 大于 100 的数据,你可以使用以下命令:
db.col.find({"likes" : {$gt : 100}})
类似于SQL语句:
Select * from col where likes > 100;
- MongoDB(>=)大于等于操作符 - $gte
如果你想获取”col”集合中 “likes” 大于等于 100 的数据,你可以使用以下命令:
db.col.find({likes : {$gte : 100}})
类似于SQL语句:
Select * from col where likes >=100;
- MongoDB (<) 小于操作符 - $lt
如果你想获取”col”集合中 “likes” 小于 150 的数据,你可以使用以下命令:
db.col.find({likes : {$lt : 150}})
类似于SQL语句:
Select * from col where likes < 150;
- MongoDB (<=) 小于操作符 - $lte
如果你想获取”col”集合中 “likes” 小于等于 150 的数据,你可以使用以下命令:
db.col.find({likes : {$lte : 150}})
类似于SQL语句:
Select * from col where likes <= 150;
- MongoDB 使用 (<) 和 (>) 查询 - $lt 和 $gt
如果你想获取”col”集合中 “likes” 大于100,小于 200 的数据,你可以使用以下命令:
db.col.find({likes : {$lt :200, $gt : 100}})
类似于SQL语句:
Select * from col where likes>100 AND  likes<200;
$type Operator
在本章节中,我们将继续讨论MongoDB中条件操作符 $type。
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。
MongoDB 中可以使用的类型如下表所示:
| 类型 | 数字 | 备注 | 
|---|---|---|
| Double | 1 | |
| String | 2 | |
| Object | 3 | |
| Array | 4 | |
| Binary data | 5 | |
| Undefined | 6 | 已废弃。 | 
| Object id | 7 | |
| Boolean | 8 | |
| Date | 9 | |
| Null | 10 | |
| Regular Expression | 11 | |
| JavaScript | 13 | |
| Symbol | 14 | |
| JavaScript (with scope) | 15 | |
| 32-bit integer | 16 | |
| Timestamp | 17 | |
| 64-bit integer | 18 | |
| Min key | 255 | Query with -1. | 
| Max key | 127 | 
- 实例
如果想获取 “col” 集合中 title 为 String 的数据,你可以使用以下命令:
db.col.find({"title" : {$type : 2}})
输出结果为:
db.col.find({"title" : {$type : 2}}).pretty();
{
	"_id" : ObjectId("593abda34599370cf6e7e7fb"),
	"title" : "PHP 教程",
	"description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。",
	"by" : "菜鸟教程",
	"url" : "http://www.runoob.com",
	"tags" : [
		"php"
	],
	"likes" : 200
}
{
	"_id" : ObjectId("593abdb34599370cf6e7e7fc"),
	"title" : "Java 教程",
	"description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。",
	"by" : "菜鸟教程",
	"url" : "http://www.runoob.com",
	"tags" : [
		"java"
	],
	"likes" : 150
}
{
	"_id" : ObjectId("593abdc64599370cf6e7e7fd"),
	"title" : "MongoDB 教程",
	"description" : "MongoDB 是一个 Nosql 数据库",
	"by" : "菜鸟教程",
	"url" : "http://www.runoob.com",
	"tags" : [
		"mongodb"
	],
	"likes" : 100
}
Limit() & Skip()
- MongoDB Limit() 方法
如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
limit()方法基本语法如下所示:
> db.COLLECTION_NAME.find().limit(NUMBER)
实例
> db.col.find({},{"title":1,_id:0}).limit(2);
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
> db.col.find({},{"title":1,_id:0});
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
- MongoDB Skip() 方法
我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
skip() 方法脚本语法格式如下:
> db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
实例
> db.col.find({},{"title":1,_id:0}).limit(1).skip(1);
{ "title" : "Java 教程" }
注: skip()方法默认参数为 0
