MongoDB比较查询操作符

MongoDB拥有强大的数据查询功能,这主要靠其提供的查询操作符 (Query Operators)来实现,它包括比较查询操作符、逻辑查询操作符、元 素查询操作符、数据查询操作符等。
查询操作符的使用十分灵活,使用它们能够构造出复杂的查询条件,可 以满足大部分的数据查询功能。

比较查询操作符
比较查询操作符(Comparison Query Operators),用于大小值比较以及包 含与不包含关系的判断。
比较操作符 作用 参数
$eq/$ne 等于/不等于 {<field>:{$eq/$ne:<value>}}
$gt/$gte 大于/大于等于 {<field>:{$gt/$gte:<value>}}
$lt/$lte 小于/小于等于 {<field>:{$lt/$lte:<value>}}
$in/$nin 包含/不包含
{field:{$in/$nin:[<valuel>,<value2>,… <valueN>]}}

比较查询操作符实例
 
   
var db = connect("localhost:27017/test");
db.col.drop();
var bulk = db.col.initializeUnorderedBulkOp();
// 测试数据
var doc1 = {name : "joe", age : 20}
bulk.insert(doc1);
var doc2 = {name : "joe", age : 31}
bulk.insert(doc2);
var doc3 = {name : "jack", age : 21}
bulk.insert(doc3);
var doc4 = {name : "John", age : null}
bulk.insert(doc4);
//执行插入操作
bulk.execute();
print("===比较查询操作符$eq的使用===");
var cursor = db.col.find({age:{$eq:20}});//相当于 {age:20}
printjson(cursor.toArray());
 
print("===比较查询操作符$lt的使用===");
cursor = db.col.find({age:{$lt:21}});
printjson(cursor.toArray());
 
print("===比较查询操作符$gt的使用===");
cursor = db.col.find({age:{$gt:21}});
printjson(cursor.toArray());
 
print("===比较查询操作符$in的使用===");
cursor = db.col.find({age:{$in:[21,31]}});
printjson(cursor.toArray());
运行结果:
 
   
C:\>mongo --quiet find_eq.js
===比较查询操作符$eq的使用===
[
{
"_id" : ObjectId("56e5545d01a28a301d2578c4"),
"name" : "joe",
"age" : 20
}
]
===比较查询操作符$lt的使用===
[
{
"_id" : ObjectId("56e5545d01a28a301d2578c4"),
"name" : "joe",
"age" : 20
}
]
===比较查询操作符$gt的使用===
[
{
"_id" : ObjectId("56e5545d01a28a301d2578c5"),
"name" : "joe",
"age" : 31
}
]
===比较查询操作符$in的使用===
[
{
"_id" : ObjectId("56e5545d01a28a301d2578c5"),
"name" : "joe",
"age" : 31
},
{
"_id" : ObjectId("56e5545d01a28a301d2578c6"),
"name" : "jack",
"age" : 21
}
]

猜你喜欢

转载自blog.csdn.net/u022812849/article/details/51304046