基本查询
db.集合名称.find({条件文档})
findOne()方法 查询只返回第一条
db.集合名称.findOne({条件文档})
方法pretty()将结果格式化
db.集合名称.pretty({条件文档}).pretty()
查询出姓名是小明
db.集合名称.find({'name:'小明''})
条件运算符
- 小于$lt
- 小于或等于$lte
- 大于$gt
- 大于或等于$gte
- 不等于$ne
例1
- 查询年龄大于或等于18
db.集合名称.find({age:{$get:18}})
逻辑运算符
- 查询时可以有多个条件,多个条件之间需要通过逻辑运算符连接
逻辑与:默认是逻辑与的关系
查询年龄大于或等于18,并且性别为1的学生
db.集合名称.find({age:{$gte:18},gender:1})
逻辑或:使用$or
- 查询年龄大于18,或性别为女的学生
db.集合名称.find({$or:[{$age:{$gt:18}},{gender:'女'}]})
and和or一起使用
- 查询年龄大于18或性别为女的学生,并且学生的姓名为gj
db.集合名称.find({$or:[{age:{$gte:18}},{gender:'女'}],name:'gj'})
范围运算符 使用 '$in',"$nin"(满足条件之外) 判断是否在某个范围内
- 查询年龄为18、28的学生
db.stu.find({age:{$in:[18,28]}})
支持正则表达式
使用//或$regex编写正则表达式
- 查询姓黄的学生
db.stu.find({name:/^黄/}) db.stu.find({name:{$regex:'^黄'}}})
自定义查询
使用$where后面写一个函数,返回满足条件的数据
- 查询年龄大于30的学生
db.stu.find({$where:function(){return this.age>20}})
$type
- 想要获取某一中类型的数据 例如:如果想获取 "col" 集合中 title 为 String 的数据,你可以使用以下命令:
db.col.find({"title" : {$type : 'string'}})
网友评论