1,SQL语句中Where条件处理
1.1,基本查询
-
全集合查询
find([{文档条件}]) -
查询第一个
findOne([{文档条件}]) -
将查询结果格式化展示
pretty()
例如:db.<collection>.find().pretty()
1.2,比较运算符
- 默认判断,无运算符
$lt:little,小于 <
$lte:little or equals,小于等于 <=
$gt:granter,大于 >
$gte:granter or equals,大于等于 >=
-
例如,查询名称为jerry的学生
db.student.find({name:”jerry”}) -
例如,查询年龄已经适婚年龄的学员
db.student.find({age:{$gte:20}})
1.3,逻辑运算符
-
逻辑与:并且运算,默认操作,无运算符
-
逻辑或:或者运算,$or
-
例如,查询年龄已经适婚年龄并且性别为女的学员
db.student.find({age:{$gte:20}, gender:”女”}) -
例如,查询年龄大于18或者性别为男的学员
db.student.find({$or:[{age:{$gt:18}, {gender:”女”}]})
1.4,范围运算符
- 判断指定条件在范围内或范围外
$in:判断指定条件是否包含在某个范围内
$nin:判断指定条件是否不包含在某个范围内
-
例如,查询年龄在18或者20的学员
db.student.find({age: {$in:[18,20]}}) -
例如,查询年龄不是18 的学员
db.student.find({age: {$nin : [20]}})
2,查询结果集的处理
2.1,限制查询条数
- limit()限制查询条数
db.<collection>.<find()>.limit(count)
2.2,排序
-
sort()对结果排序后返回
db.<collection>.<find>.sort({字段:1/-1, ...}) -
1表示升序排列
-
-1表示降序排列,可以指定多个字段
-
例如,按照name升序返回
db.student.find().sort({name:1})
2.3,统计
-
两种操作方式
-
1)查询结果,通过count()统计数据
db.<collection>.<find>.count() -
2)通过count()直接添加条件统计数据
db.<collection>.count({条件})
2.4,去重
-
通过distinct()对查询结果去重
db.<collection>.distinct(“去重域名称”, {条件}) -
例如,查询数据列表中,所有的年龄分布情况
db.student.distinct(“age”, {})
2.5,分页
- 隔n个数据查询m个数据
db.hero.find().pretty().limit(m).skip(n)
3,参考网址
- mongoDB的安装及基本使用
http://www.jianshu.com/p/51fd20ac5629 - MongoDB的查询操作
http://www.open-open.com/lib/view/open1477897463264.html
网友评论