1. 按照条件查询所有数据:  db.集合名称.find(条件)

      (1)  例:  db.test_01.find({age=20})           查找test_01集合中的age等于20 的数据

        (2)   有多个条件的时候直接给里面添加数据就行  

            db.test_01.find({home:"北京",age=20})  # 家在北京且年龄为20的学生数据

       (3)   db.集合名称.find(条件).pretty()    # 让查询的结果美化输出

2.按照条件查询一条数据   :   db.集合名称.findOne(条件)

3. 投影:    在查询到的返回结果中,只选择必要的字段

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

        例如:   db.stu.find({age:$gt:20},{name:1,age=1})    #查询年龄大于20的,且结果只有姓名和年龄

想要显示某个结果,给后面的大括号里面直接添加  名字:1   例如:  name:1 把姓名显示出来

        查询到的数据会默认显示出_id ,同理让_id不显示的,把_id设置为0

       

4. 排序   查询

     

升序查询:  例:db.stu.find().sort({age:1})     # 按照age进行排序  1  为升序  (从小到大)

    降序查询: 例:  db.stu.find().sort({age:-1})    # 按照age进行排序  -1为降序 (从大到小)

      如果按照排序的时候有相同的字段,就可以再根据后面的字段进行类似的二次排序

5. 去重      distinct()

    

1.高级查询 

     (1) 运用比较运算符

                               

例如:   db.stu.find({age:{$lte:20}})    #  查找db集合中年龄小于等于20的所有数据

(2)运用范围运算符

       使用"$in", "$nin" 判断是否在某个范围之内

     例如:db.stu.find({age:{$in:[20,25,30]}})      # 查询年龄等于 20,25,30的学生数据

(3)运用逻辑运算符

                      

    (4)运用 正则表达式 

        使用 // 或$regex 编写正则表达式

       ~ db.test_01.find({name:/^王/})      #查询姓为王的所有学生数据

db.test_01.find({name:{$regex:"伟$"}})    #查询名字的最后一个字为伟的所有学生数据

  (5)   查询部分的数据:   

     ~ limit(n)      根据条件查询前n个数据,    没有条件的时候也可以查询

                   db.集合名称.find(查询条件).limit(n)              

    ~ skip(n)     跳过n个数据,即查询n个数据之后的所有数据

                    db.集合名称.find(查询条件).skip(n))     

    ~ 这两个可以是直接使用的,建议先limit,再skip

(6)   可以使用自定义的查询*    (js的语句)

统计集合里面有多少条数据

    (1)db.集合名称.find().count()       也可以应用到条件的查询中

    (2)  db.集合名称.count(条件)

MongoDB数据库(3.mongodb数据库的高级查询)相关推荐

  1. Oracle数据库的基本使用和高级查询

    1.Oracle体系结构 本次使用的是Oracle18c数据库版本 java学习交流Q群:1004577069 1>数据库Oracle数据库时数据的物理存储,这就包括(数据库文件ORA或者DBF ...

  2. 数据库实验四:数据高级查询

    真给我整无语了,数据库实验怎么这么多,要考试还要写实验.写写写,写他娘的什么东西. 实验内容 实现查询 ps:实验要求用两种方法写的我除了union都是用的两种方法写,union查了好久都查不到,或许 ...

  3. SQL Server数据库开发(3.SQL高级查询)

    一,嵌套子查询 降低SQL语句的复杂度,提高SQL语句的可读性 --子查询作为条件  (where) --查询王五前面的同学 select * from StuInfo where stuid < ...

  4. mongodb 搜索速度_MongoDB数据库查询性能提高40倍的经历分享

    前言 数据库性能对软件整体性能有着至关重要的影响,本文给大家分享了一次MongoDB数据库查询性能提高40倍的经历,感兴趣的朋友们可以参考学习. 背景说明 1.数据库:MongoDB 2.数据集: A ...

  5. mongodb 去重查询 Java,mongodb篇二:mongodb克隆远程数据库,去重查询的命令及对应java语句...

    另外附上mongodb eclipse插件地址: http://www.jumperz.net/update/ import java.net.UnknownHostException;import ...

  6. mongodb基本指令与高级查询指令以及聚合命令

    一.MongoDB中关于database的基本指令 1 ###关于database的基本指令 2 #查询当前使用的数据库指令 3 db 4 5 #查询所有的数据库指令 6 show dbs#或者:sh ...

  7. MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)

    查询接口 对于查询操作,MongoDB 提供了 db.collection.find() 方法.这个方法接收查询条件和映射两个条件并且返回一个指向匹配文档的 游标 .你可以使用 limits, ski ...

  8. MongoDB 教程三: 高级查询

    视频:MongoDB 教程三: 高级查询 MongoDB支持的查询语言非常强大,语法规则类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,并且由于 MongoDB可以支持复杂的数 ...

  9. MongoDB高级查询详细

    前言 前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查 前 ...

最新文章

  1. 进制转换与ascll码利用
  2. 从零开始入门 K8s | 手把手带你理解 etcd
  3. boost::python::register_exception_translator相关的测试程序
  4. mysql找出借书超过5本的读者_MySQL 练习题【一】附加题2
  5. 同窗多年,一个无经验的应届生,一起转行做了软件测试并月薪8K
  6. 笨办法学Python(第三版)pdf
  7. 在线下单系统php源码,PIMS在线订单管理系统v4.2.9
  8. py将dicm格式图片转为jpg格式
  9. 计算机网络之对称密钥加密与非对称密钥加密
  10. 微信模拟位置想在哪就在哪(GPS欺骗)
  11. pycharm安装scipy
  12. Lotus Symphony 正式版发布!
  13. 对于von Mises distribution(冯·米塞斯分布)的一点心得
  14. 从南极之争谈软件架构十个技巧,及…
  15. Spark数据倾斜解决方案(收藏级)
  16. Word 表格换页自动“续表”方法
  17. java8的LocalDateTime获取当前月的第一天与最后一天
  18. ContentPlaceHolder
  19. java实习生简历模板
  20. Alpha 冲刺(10/10)

热门文章

  1. junit4/5 getDefaultClassLoader()Ljava/lang/ClassLoader;
  2. php redis 主从配置,Redis主从及其PHP扩展安装配置
  3. IDEA主题设置(字体颜色背景)
  4. Web安全——服务器端请求伪造(SSRF)
  5. 设计模式——装饰者(Decorator)模式DEMO——成绩汇报的装饰者模式实现
  6. XCTF WEB weak_auth
  7. Minimum Integer
  8. 【学习笔记】juc并发学习+关于锁的面试题
  9. python 类 对象 魔法方法概念+习题
  10. CentOS 初体验八:传输本地文件到CentOS