数据查询

基本查询

方法find():查询:db.集合名称.find({条件文档})
方法findOne():查询,只返回第一个:db.集合名称.findOne({条件文档}) 方法pretty():将结果格式化:db.集合名称.find({条件文档}).pretty()

比较运算符

  • 等于,默认是等于判断,没有运算符
  • 小于$lt、小于或等于$lte、大于$gt、大于或等于$gte、不等于$ne
  • 例1:查询名称等于'郭靖'的学生

db.stu.find({name:'郭靖'})

  • 例2:查询年龄大于或等于18的学生

db.stu.find({age:{$gte:18}})

逻辑运算符

  • 查询时可以有多个条件,多个条件之间需要通过逻辑运算符连接
  • 逻辑与:默认是逻辑与的关系
  • 例3:查询年龄大于或等于18,并且性别为true的学生

db.stu.find({age:{$gte:18},gender:true})

  • 逻辑或:使用$or,值为数组,数组中每个元素为json
  • 例4:查询年龄大于18,或性别为false的学生

db.stu.find({$or:[{age:{$gt:18}},{gender:false}]})

  • and和or一起使用
  • 例5:查询年龄大于18或姓名是郭靖,并且性别为男生

db.stu.find({$or:[{age:{$gte:18}},{gender:true}],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>30;
    }
})

Limit

  • 方法limit():用于读取指定数量的文档
  • 语法:db.集合名称.find().limit(NUMBER)
  • 参数NUMBER表示要获取文档的条数
  • 如果没有指定参数则显示集合中的所有文档

skip

  • 方法skip():用于跳过指定数量的文档
  • 语法:db.集合名称.find().skip(NUMBER) 参数NUMBER表示跳过的记录条数,默认值为0
  • 方法limit()和skip()可以一起使用,不分先后顺序

投影

在查询到的返回结果中,只选择必要的字段,而不是选择一个文档的整个字段

参数为字段与值,值为1表示显示,值为0不显示

db.集合名称.find({},{字段名称:1,...})

  • 对于需要显示的字段,设置为1即可,不设置即为不显示
  • 特殊:对于_id列默认是显示的,如果不显示需要明确设置为0

排序

  • 方法sort(),用于对结果集进行排序
  • 语法:db.集合名称.find().sort({字段:1,...}) 参数1为升序排列,参数-1为降序排列

统计个数

  • 方法count()用于统计结果集中文档条数
  • 语法:db.集合名称.find({条件}).count() 也可以与为:db.集合名称.count({条件})

消除重复

  • 方法distinct()对数据进行去重
  • 语法:db.集合名称.distinct('去重字段',{条件})

3.MongoDB数据查询相关推荐

  1. MongoDB数据查询

    数据查询 基本查询 方法find():查询 db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) 方法pretty(): ...

  2. Mongodb数据查询 | Mongodb

    1.基本查询①方法find():查询db.集合名称.find({条件文档})②方法findOne():查询,只返回第一个db.集合名称.findOne({条件文档})③方法pretty():将结果格式 ...

  3. MongoDB数据查询中的关键字ne

    mongodb有这样一个关键字 ne 就是not equal的意思 Syntax: {field: {$ne: value} } $ne selects the documents where the ...

  4. 12 MongoDB - 数据查询(消除重复)

    方法distinct()对数据进行去重 语法: db.集合名称.distinct('去重字段',{条件}) 例1:查找年龄大于18的性别(去重) db.stu.distinct('gender',{a ...

  5. MongoDB 数据文件损坏修复救命repair与致命危险

    最近,一客户单实例mongodb数据库,没有备份的情况下遇到了断电导致的数据文件损坏,由于客户业务需要 及数据的不敏感性,要求尽快恢复业务,使用了Mongdb的自动修复repair命令进行修复.可喜的 ...

  6. 从mongodb中查询数据

    连接mongodb: public class GenericMga{private DB db;public DB getDB(){return this.db;}public void setDB ...

  7. java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法

    Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...

  8. MongoDB模糊查询-查询某月的数据

    mongodb 模糊查询 应用场景: 做报表统计查询2019年02月的数据 db.getCollection('WT_SpareManage').find({"useDate":{ ...

  9. mongodb,robomongo 数据查询

    可视化管理工具:Robomongo 是开源,免费的MongoDB管理工具,下载地址:Robomongo下载 1.  基本查询:     构造查询数据.     > db.test.findOne ...

最新文章

  1. 枚举enum与#define 宏的区别?
  2. 047_CSS3多列
  3. IIS部署时提示:InvalidOperationException:未能映射路径“/”
  4. 事务里面捕获异常_三问Spring事务:解决什么问题?如何解决?存在什么问题?...
  5. [MySQL]关于amd.dll后门病毒入侵3306端口的临时解决方案
  6. chdir函数_PHP chdir()函数与示例
  7. 大厂必备!不断提升自己创造溢价的能力
  8. 解决conda activate报错IMPORTANT: You may need to close and restart your shell after running ‘conda init‘
  9. mysql新建用户并授权_Mysql中新建用户及授权的方法分享
  10. modbus通讯协议编程实例_三菱PLC CC-LINK通讯编程实例分享,看完你就会了
  11. 【数字电路逻辑设计】第1章 基本知识
  12. 常用数据分析的基本方法
  13. mysql gtid dump_MySQL之mysqldump备份的--set-gtid-purged参数
  14. Oracle_PO_ER图/Oralce_PR_ER_Model/Standard_PO_Flow
  15. 兼容安卓和苹果的滚动
  16. C#MessageBox 自动关闭窗口
  17. 大一计算机考试题库打字题,大一计算机考试题库
  18. 2022年武汉市级产业化投资和技术改造专项以及工业智能化改造专项申报开始!13区申报条件、1千万补助
  19. mysql数据导入导出 CSV格式_导出mysql的数据为csv格式的文件
  20. open-api-project

热门文章

  1. UVA 213 Message Decoding
  2. console和windows子系统
  3. 常量(const)和只读变量(readonly)
  4. jquery中怎么删除ul中的整个li包括节点
  5. 使用JSLint提高JS代码质量
  6. linux Swap交换分区概念
  7. ptmalloc,tcmalloc和jemalloc内存分配策略研究
  8. 下周开幕!给深圳的嵌入式和电子工程师准备的嘉年华来了
  9. Linux下的gpio,gpiod
  10. 一个大神的Android成长之路