mongodb 查询

首先批量插入1000000条数据
use tt
for (var i=1;i<1000000;i++)db.ints.insert({'_id': i, 'i': i})
1.基本查询
> db.ints.find() 
默认输出20条纪录,可以循环输出所有数据
for( var c = db.ints.find(); c.hasNext(); ) {printjson( c.next());}    
2.查询一条纪录
> db.ints.findOne()
3.查询N条纪录
> db.ints.find().limit(5)
4.查询最后N条纪录
> db.ints.find().sort({"i":-1}).limit(5)
5.查询总的数量
> db.ints.find().count()
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-$size
6.$gt/$lt/$gte/$lte
$gt:大于
$lt:小于
$gte:大于或等于
$lte:小于或等于
> db.ints.find({"i":{$gt:900000}})  ##查找所有i值大于900000的纪录
> db.ints.find({"i":{$lt:900000}})  ##查找所有i值小于900000的纪录
> db.ints.find({"i":{$gte:900000}}) ##查找所有i值大于等于900000的纪录
> db.ints.find({"i":{$lte:900000}}) ##查找所有i值小于等于900000的纪录
7.$ne 不等于
> db.ints.find({"i":{$ne:1}})  ##查找i=1之外的所有数据
8.$in 在范围内
> db.ints.find({"i":{$in:[2,4,6]}}) ##查找i的值为[2,4,6]的纪录
9.$nin 在范围外
> db.ints.find({"i":{$nin:[2,4,6]}})  ##查找i的值除[2,4,6]外的其他纪录
10.$or && $nor
> db.ints.find({$or:[{"i":3},{"i":5}]})
> db.ints.find({$nor:[{"i":3},{"i":5}]})
输出结果和$in/$nin相同
11.$exists 是否存在
> db.ints.find({"i":{$exists:true}})  ##存在就返回
>; db.ints.find({"i":{$exists:false}}) ##不存在就返回
12.$type 基于BSON type来匹配一个元素的类型
> db.things.find( { i : { $type : 2 } } ); // matches if a is a string
> db.things.find( { i : { $type : 16 } } ); // matches if a is an int

你可能感兴趣的:(查询,职场,休闲,5)