MongoDB数据查询
数据查询
基本查询
- 方法find():查询
db.集合名称.find({条件文档})
- 方法findOne():查询,只返回第一个
db.集合名称.findOne({条件文档})
- 方法pretty():将结果格式化
db.集合名称.find({条件文档}).pretty()
比较运算符
- 等于,默认是等于判断,没有运算符
- 小于$lt
- 小于或等于$lte
- 大于$gt
- 大于或等于$gte
- 不等于$ne
- 例1:查询名称等于'gj'的学生
db.stu.find({name:'gj'})
- 例2:查询年龄大于或等于18的学生
db.stu.find({age:{$gte:18}})
逻辑运算符
- 查询时可以有多个条件,多个条件之间需要通过逻辑运算符连接
- 逻辑与:默认是逻辑与的关系
- 例3:查询年龄大于或等于18,并且性别为1的学生
db.stu.find({age:{$gte:18},gender:1})
- 逻辑或:使用$or
- 例4:查询年龄大于18,或性别为0的学生
db.stu.find({$or:[{age:{$gt:18}},{gender:1}]})
- and和or一起使用
- 例5:查询年龄大于18或性别为0的学生,并且学生的姓名为gj
db.stu.find({$or:[{age:{$gte:18}},{gender:1}],name:'gj'})
范围运算符
- 使用"$in","$nin" 判断是否在某个范围内
- 例6:查询年龄为18、28的学生
db.stu.find({age:{$in:[18,28]}})
支持正则表达式
- 使用//或$regex编写正则表达式
- 例7:查询姓黄的学生
db.stu.find({name:/^黄/})
db.stu.find({name:{$regex:'^黄'}}})
自定义查询
- 使用$where后面写一个函数,返回满足条件的数据
- 例7:查询年龄大于30的学生
db.stu.find({$where:function(){return this.age>20}})
Limit
- 方法limit():用于读取指定数量的文档
- 语法:
db.集合名称.find().limit(NUMBER)
- 参数NUMBER表示要获取文档的条数
- 如果没有指定参数则显示集合中的所有文档
- 例1:查询2条学生信息
db.stu.find().limit(2)
skip
- 方法skip():用于跳过指定数量的文档
- 语法:
db.集合名称.find().skip(NUMBER)
- 参数NUMBER表示跳过的记录条数,默认值为0
- 例2:查询从第3条开始的学生信息
db.stu.find().skip(2)
一起使用
方法limit()和skip()可以一起使用,不分先后顺序
创建数据集
for(i=0;i<15;i++){db.t1.insert({_id:i})}
- 查询第5至8条数据
db.stu.find().limit(4).skip(5)
或
db.stu.find().skip(5).limit(4)
投影
- 在查询到的返回结果中,只选择必要的字段,而不是选择一个文档的整个字段
- 如:一个文档有5个字段,需要显示只有3个,投影其中3个字段即可
- 语法:
- 参数为字段与值,值为1表示显示,值为0不显示
db.集合名称.find({},{字段名称:1,...})
- 对于需要显示的字段,设置为1即可,不设置即为不显示
- 特殊:对于_id列默认是显示的,如果不显示需要明确设置为0
- 例1
db.stu.find({},{name:1,gender:1})
- 例2
db.stu.find({},{_id:0,name:1,gender:1})
排序
- 方法sort(),用于对结果集进行排序
- 语法
db.集合名称.find().sort({字段:1,...})
- 参数1为升序排列
- 参数-1为降序排列
- 例1:根据性别降序,再根据年龄升序
db.stu.find().sort({gender:-1,age:1})
统计个数
- 方法count()用于统计结果集中文档条数
- 语法
db.集合名称.find({条件}).count()
- 也可以与为
db.集合名称.count({条件})
- 例1:统计男生人数
db.stu.find({gender:1}).count()
- 例2:统计年龄大于20的男生人数
db.stu.count({age:{$gt:20},gender:1})
消除重复
- 方法distinct()对数据进行去重
- 语法
db.集合名称.distinct('去重字段',{条件})
- 例1:查找年龄大于18的性别(去重)
db.stu.distinct('gender',{age:{$gt:18}})
MongoDB数据查询相关推荐
- 3.MongoDB数据查询
数据查询 基本查询 方法find():查询:db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个:db.集合名称.findOne({条件文档}) 方法pretty(): ...
- Mongodb数据查询 | Mongodb
1.基本查询①方法find():查询db.集合名称.find({条件文档})②方法findOne():查询,只返回第一个db.集合名称.findOne({条件文档})③方法pretty():将结果格式 ...
- MongoDB数据查询中的关键字ne
mongodb有这样一个关键字 ne 就是not equal的意思 Syntax: {field: {$ne: value} } $ne selects the documents where the ...
- 12 MongoDB - 数据查询(消除重复)
方法distinct()对数据进行去重 语法: db.集合名称.distinct('去重字段',{条件}) 例1:查找年龄大于18的性别(去重) db.stu.distinct('gender',{a ...
- MongoDB 数据文件损坏修复救命repair与致命危险
最近,一客户单实例mongodb数据库,没有备份的情况下遇到了断电导致的数据文件损坏,由于客户业务需要 及数据的不敏感性,要求尽快恢复业务,使用了Mongdb的自动修复repair命令进行修复.可喜的 ...
- 从mongodb中查询数据
连接mongodb: public class GenericMga{private DB db;public DB getDB(){return this.db;}public void setDB ...
- java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法
Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...
- MongoDB模糊查询-查询某月的数据
mongodb 模糊查询 应用场景: 做报表统计查询2019年02月的数据 db.getCollection('WT_SpareManage').find({"useDate":{ ...
- mongodb,robomongo 数据查询
可视化管理工具:Robomongo 是开源,免费的MongoDB管理工具,下载地址:Robomongo下载 1. 基本查询: 构造查询数据. > db.test.findOne ...
最新文章
- 上班摸鱼,刚刚发现在 VScode 中可玩魂斗罗,超级玛丽
- AGC029 E: Wandering TKHS
- QML基本可视化元素--Text
- AOJ 491.扑克牌
- asp实现批量录入数据
- C#中使用Path、Directory、Split、Substring实现对文件路径和文件名的常用操作实例
- 如何写一手好 SQL 【频繁出现慢SQL告警的优化方案】
- 3种常见的Class级别的错误
- Session【常见问题请见下图】
- 列表框、下拉列表框或组合框与数据库
- sql中的distinct
- 2021华为软件精英挑战赛的baseLine,Java版,仅供参考,无核心算法
- idea导出数据库的可执行sql文件
- 编程c语言被windows拦截,C语言调用detours劫持WindowsAPI
- 单纯形法的四种特殊情形
- ios appstore 上架应用被拒绝原因
- WPF支持OneWay,TwoWay,OneTime,Default和OneWayToSource
- 申请CVE的姿势总结
- 宏源药业上市破发:跌幅16% 公司市值168亿超募17亿
- 桂电计算机系入学怎么分班,桂电研究生-()学期课程总表.doc
热门文章
- FPGA学习(第8节)-Verilog设计电路的时序要点及时序仿真
- 为你的网站加上SSL,可以使用HTTPS进行访问
- 所生成项目的处理器架构“MSIL”与引用“***”的处理器架构“x86”不匹配。这种不匹配可能会导致运行时失败。请考虑通过配置管理器......
- C++头文件,预处理详解
- “strcpy” 模拟的实现
- sequelize常见操作使用方法
- js获取表单文本框中的值
- 通用单向链表设计(一)——接口的设计
- MDOP 2011 R2 DaRT 7.0 创建包含诊断和恢复的图形化PE
- qt lighthouse相关