(9)使用条件表达式(<, <=, >, >=,!=)
//大于: field > value
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:{$ne:value}});
(10)统计(count)、排序(sort)、分页(skip、limit)
db.customer.count();
db.customer.find().count();
db.customer.find({age:{$lt:5}}).count();
db.customer.find().sort({age:1});
db.customer.find().skip(2).limit(3);
db.customer.find().sort({age:-1}).skip(2).limit(3);
db.customer.find().sort({age:-1}).skip(2).limit(3).count();
db.customer.find().sort({age:-1}).skip(2).limit(3).count(0);
db.customer.find().sort({age:-1}).skip(2).limit(3).count(1);
(11)$all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回
>db.c2.insert({name:"user1",Measurements:[36,24,35]});
>db.c2.find()
{"_id":ObjectId("56064f89ade2f21f36b03137"),"name":"user1","Measurements":[36,24,35]}
>db.c2.find({Measurements:{$all:[36,24]}})
{"_id":ObjectId("56064f89ade2f21f36b03137"),"name":"user1","Measurements":[36,24,35]}
>db.c2.find({Measurements:{$all:[36,25]}})
>
(12)$in,类似于关系型数据库中的IN
>db.customer.find({age:{$in:[12,15,17]}})
(13)查询集合中的文档 ,$nin,与$in相反
>db.customer.find({age:{$nin:[12,15,17]}})
(14)$or,相当于关系型数据库中的OR,表示或者的关系
查询name为user2或者age为3
>db.customer.find({$or:[{name:”user2”},{age:3}]})
(15)$nor,表示根据条件过滤掉某些数据
查询name不是user2,age不是3的文档
>db.customer.find({$nor:[{name:”user2”},{age:3}]})
(16)$exists,用于查询集合中存在某个键的文档或不存在某个键的文档
查询customer集合中存在name键的所有文档
$exists:1表示真,指存在
$exists:0表示假,指不存在
>db.customer.find({name:{$exists:1}})
(17)mongodb中游标
>x.hasNext()
true
>x.next()
{
"_id" : ObjectId("56064f89ade2f21f36b03136"),
"title" : "MongoDB 学习文档",
"description" : "MongoDB 是一个 Nosql 数据库",
"url": 'https://www.mongodb.com',
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110
}