首页 / MONGODB / mongodb高级查询
mongodb高级查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mongodb高级查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2537字,纯文字阅读大概需要4分钟。
内容图文
数据查询
- 方法find():查询
db.集合名称.find({条件文档}) - 方法find():查询,只返回第一个
db.集合名称.findOne({条件文档}) - 方法pretty():将结果格式化
db.集合.find({条件文档}).pretty()
比较运算符
- 等于:默认是等于判断,没有运算符
- 小于:$lt(less than)
- 小于等于:$lte(less than equal)
- 大于等于:$gte
- 不等于:$ne
db.stu.find({age:{$gte:18}})
范围运算符
使用"$in","$nin"判断是否在某个范围内
查询年龄为18、28的学生
db.stu.find({age:{$in:{19,28,38}}})
$not
语法: { field: { $not: {
$nor额外比较
考虑入校操作:
db.inventory.find( { $nor: [ { price: 1.99 }, { qty: { $lt: 20 } }, { sale: true } ] }
inventory集合查询所有的文档,条件如下:
字段price不等于1.99,字段qty不小于20,字段sale不等于true;查询的结果包含不存在的字段;
逻辑运算符
- and:在json中写多个条件即可查询年龄大于或等于18,并且性别为true的学生
db.stu.find({age:{$gte:18},gender:true})
- or:使用$or,值为数组,数组中每个元素为json查询年龄大于18,或性别为false的学生
db.stu.find({$or:[{age:{$gt:18}},{gender:false}]})
- 查询年龄大于18或性别为男生,并且姓名是郭靖
db.stu.find({$or:[{age:{$gt:18}},{gender:true}],name:‘gj‘})
支持正则表达式
使用//或$regex编写正则表达式
查询姓黄的学生
db.produces.find({sku:/^abc/})
db.produces.find({sku:{$regex:‘789$‘})
limit和skip
- 方法limit():用于读取指定数量的文档
db.集合名称.find().limit(NUMBER)
查询2条学生信息
db.stu.find().limit(2)
- 方法skip():用于跳过指定数量的文档
db.集合名称.find().skip(NUMBER)
db.stu.find().skip(2)
- 同时使用
db.stu.find().limit(4).skip(5)
或
db.stu.find().skip(5).limit(4)
自定义查询
使用$where后面写一个函数,返回满足条件的数据查询年龄大于30的学生
db.stu.find({
$where:function() {
return this.age>30;
}
})
投影
在查询到的返回结果中,只选择必要的字段
db.集合名称.find({},{字段名称:1,...})
参数为字段与值,值为1表示显示,值为0不显
特殊:对于_id列默认是显示的,如果不显示需要明确设置为0
db.stu.find({},{_id:0,name:1,gender:1})
排序
方法sort(),用于对集进行排序
db.集合名称.find().sort({字段:1,...})
参数1为升序排列
参数-1为降序排列
根据性别降序,再根据年龄升序
db.stu.find().sort({gender:-1,age:1})
统计个数
方法count()用于统计结果集中文档条数
db.集合名称.find({条件}).count()
db.集合名称.count({条件})
db.stu.find({gender:true}).count()
db.tu.count({age:{$gt:20},gender:true})
消除重复
方法distinct()对数据进行去重
db.集合名称.distinct(‘去重字段‘,{条件})
db.stu.distinct(‘distinct‘,{age:{$gt:18}})
mongodb高级查询
标签:ODB 运算 大于 投影 高级 ... 判断 比较 文档
本文系统来源:https://www.cnblogs.com/colden/p/9865185.html
内容总结
以上是互联网集市为您收集整理的mongodb高级查询全部内容,希望文章能够帮你解决mongodb高级查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。