一,find查询
(一)find
db.集合名.find({条件文档})
举例:将集合中的数据全部筛选出来
db.getCollection('student').find({})
举例:找寻麻七的数据
db.student.find({"name":"麻七"})
(二)findOne
db.集合名.findOne({条件文档})
举例:只找一条数据
db.student.findOne({"name":"麻七"})
二,运算符
语法 | 操作 | 格式 |
---|---|---|
$eq | 等于 | {key:value} |
$lt | 小于 | {key:{$lt:value}} |
$lte | 小于或等于 | {key:{$lte:value}} |
$gt | 大于 | {key:{$gt:value}} |
$gte | 大于或等于 | {key:{$gte:value}} |
$ne | 不等于 | {key :{$ne:value}} |
$or | 或 | {$or:[{},{}]} |
$in | 在范围内 | {age:{$in:[val1,val2]}} |
$nin | 不在范围内 | {age:{$nin:[val1,val2]}} |
举例:找出小于23岁的学生
db.student.find({age:{$lt:23}})
举例2:寻找麻七或者年龄为21岁的学生
db.student.find({$or:[{name:"麻七"},{age:21}]})
三,正则
找出名字中带“三”的学生
db.student.find({name:/三/})
四,自定义查询
找出大于20岁的学生
db.student.find({$where:function(){return this.age>20}})
五,分页
限制输出limit
展示三条数据
db.student.find().limit(3)
skip
从第三条数据显示
db.student.find().skip(2)
limit与skip一起使用
显示出第3-5条数据
db.student.find().skip(2).limit(3)
六,排序——sort
- 参数1为升序排列
- 参数-1为降序排列
按照年龄升序
db.student.find().sort({age:1})
七,统计计数——count
查询文档数据
db.student.find().count()
结果:11
查询年龄为20的记录数
db.student.find({age:20}).count()
结果:2