假如我们在MongoDB服务器中有一个数据库,该数据中有一个数据集合(表)UserModel,存储的数据以及字段如下图所示:

  1. 查询集合(表)UserModel中的所有数据:

    //select * from UserModel
    db.UserModel.find()

  2. 查询集合(表)UserModel中的所有数据,按照UserAge升序排列:

    //select * from UserModel order by UserAge asc
    db.UserModel.find().sort({UserAge:1})//其中的1代表升序

  3. 查询集合(表)UserModel中的所有数据,按照UserAge降序排列:

    //select * from UserModel order by UserAge desc
    db.UserModel.find().sort({UserAge:-1})//其中的-1代表降序

  4. 查询集合(表)UserModel中的前5条数据:

    //select top 5 * from UserModel
    db.UserModel.find().limit(5)

  5. 查询集合(表)UserModel按照UserId升序查询前5条数据以后的所有数据:

    //select * from UserModel where UserId not in(select top 5 UserId from UserModel order by UserId asc) order by UserId,按照UserId升序查询前5条数据以后的所有数据
    db.UserModel.find().skip(5).sort({UserId:1})

  6. 查询集合(表)UserModel按照UserAge升序、第二页、每页10条的数据:

    //分页查询,按照UserAge升序,查询第二页的数据,每页10条数据(下面语句中的2*10代表第二页*10)
    db.UserModel.find().limit(10).skip((2-1)*10).sort({UserAge:1})

  7. 查询集合(表)UserModel中UserId=6的数据:

    //select * from UserModel where UserId=6
    db.UserModel.find({UserId:6})

  8. 查询集合(表)UserModel中Status=1并且UserAge>29的数据:

    //select * from UserModel where Status=1 and UserAge>29
    db.UserModel.find({Status:1,UserAge:{$gt:29}})

  9. 查询集合(表)UserModel中UserName包含ac的数据:

    //select * from UseModel where UserName like'%ac%'
    db.UserModel.find({UserName:/ac/})

  10. 查询集合(表)UserModel中UserName的前缀包含Qu的数据:

    //select * from UserModel where UserName like'Qu%'
    db.UserModel.find({UserName:/^Qu/})

  11. 查询集合(表)UserModel中UserAge>13的数据:

    //select * from UserModel where UserAge>13
    db.UserModel.find({UserAge:{$gt:13}})

  12. 查询集合(表)UserModel中UserAge>=13的数据:

    //select * from UserModel where UserAge>=13
    db.UserModel.find({UserAge:{$gte:13}})

  13. 查询集合(表)UserModel中UserAge<13的数据:

    //select * from UserModel where UserAge<13
    db.UserModel.find({UserAge:{$lt:13}})

  14. 查询集合(表)UserModel中UserAge<=13的数据:

    //select * from UserModel where UserAge<=13
    db.UserModel.find({UserAge:{$lte:13}})

  15. 查询集合(表)UserModel中UserAge>=10并且UserAge<=20的数据:

    //select * from UserModel where UserAge<=10 and UserAge<=20
    db.UserModel.find({UserAge:{$gte:10,$lte:20}})

  16. 查询集合(表)UserModel中UserAge>45或UserAge<10的数据,并按照UserAge升序排列:

    //select * from UserModel where UserAge>45 or UserAge<10 order by UserAge asc
    db.UserModel.find({$or:[{UserAge:{$gt:45}},{UserAge:{$lt:10}}]}).sort({UserAge:1})

  17. 查询集合(表)UserModel中的所有数据,并只查询UserId,UserName,UserAge这3个字段:

    //select UserId,UserName,UserAge from UserModel
    db.UserModel.find({},{UserId:1,UserName:1,UserAge:1})

  18. 查询集合(表)UserModel中的所有数据,并只查询除UserId以外的所有字段:

    //select UserName,UserAge,IsNormal,CreateTime from UserModel,查询出除UserId以外的所有列
    db.UserModel.find({},{UserId:0})

  19. 查询集合(表)UserModel中UserAge>=10并且UserAge<=20的数据,并只查询出UserId,UserName,UserAge这3个字段:

    //select UserId,UserName,UserAge from UserModel where UserAge<=10 and UserAge<=20
    db.UserModel.find({UserAge:{$gte:10,$lte:20}},{UserId:1,UserName:1,UserAge:1})

  20. 查询集合(表)UserModel中的一条数据:

    //select top 1 * from UserModel
    db.UserModel.findOne() 等价于 db.UserModel.find().limit(1)

  21. 查询集合(表)UserModel中满足查询条件的总条数:

    //返回满足查询条件的集合总条数:select count(*) from UserModel where UserAge<=10 and UserAge<=20
    db.UserModel.find({UserAge:{$gte:10,$lte:20}}).count()

  22. 查询集合(表)UserModel中满足查询条件的总条数(分页情况):

    //如果是分页的查询,如果设置count(1)或count(true),则返回的条数就是当前页查询的结果总条数,而不是查询条件的总条数
    db.UserModel.find({UserAge:{$gte:10,$lte:20}}).sort({UserAge:1}).limit(2).skip(5*2).count(1)

  23. 对集合(表)UserModel进行分组查询,按Status字段进行分组:

    //分组查询,select Status,count(*) from UserModel group by Status
    db.UserModel.aggregate([{$group:{_id:'$Status',总数:{$sum:1}}}
    ])

  24. 对集合(表)UserModel中的Status字段去重查询:

    //select distinct Status from UserModel
    db.UserModel.distinct('Status')

  25. 对集合(表)UserModel进行综合查询示例:

    //综合查询示例语句(分页查询)
    /*查询UserModel的第二页数据,每页5条数据查询条件为:where Status=1 and (UserName like'%Qu%' or UserName like'Ja%') and (UserAge>=40 or UserAge<=20)查询的字段为:UserId,UserName,UserAge,IsNormal,Dtl
    */
    db.UserModel.find({Status:1,$or:[{UserName:/Qu/},{UserName:/^Ja/}],$or:[{UserAge:{$gte:40}},{UserAge:{$lte:20}}]},{UserId:1,UserName:1,UserAge:1,IsNormal:1,Dtl:1}
    )
    .sort({UserAge:1})
    .limit(5).skip((2-1)*5)
    //.count()  //返回总条数

完整代码如下:

//select * from UserModel
db.UserModel.find()//select * from UserModel order by UserAge asc
db.UserModel.find().sort({UserAge:1})//select * from UserModel order by UserAge desc
db.UserModel.find().sort({UserAge:-1})//select top 5 * from UserModel
db.UserModel.find().limit(5)//select * from UserModel where UserId not in(select top 5 UserId from UserModel order by UserId asc) order by UserId,按照UserId升序查询前5条数据以后的所有数据
db.UserModel.find().skip(5).sort({UserId:1})//分页查询,按照UserAge升序,查询第二页的数据,每页10条数据(下面语句中的2*10代表第二页*10)
db.UserModel.find().limit(10).skip((2-1)*10).sort({UserAge:1})//select * from UserModel where UserId=6
db.UserModel.find({UserId:6})//select * from UserModel where Status=1 and UserAge>29
db.UserModel.find({Status:1,UserAge:{$gt:29}})//select * from UseModel where UserName like'%ac%'
db.UserModel.find({UserName:/ac/})//select * from UserModel where UserName like'Qu%'
db.UserModel.find({UserName:/^Qu/})//select * from UserModel where UserAge>13
db.UserModel.find({UserAge:{$gt:13}})//select * from UserModel where UserAge>=13
db.UserModel.find({UserAge:{$gte:13}})//select * from UserModel where UserAge<13
db.UserModel.find({UserAge:{$lt:13}})//select * from UserModel where UserAge<=13
db.UserModel.find({UserAge:{$lte:13}})//select * from UserModel where UserAge<=10 and UserAge<=20
db.UserModel.find({UserAge:{$gte:10,$lte:20}})//select * from UserModel where UserAge>45 or UserAge<10 order by UserAge asc
db.UserModel.find({$or:[{UserAge:{$gt:45}},{UserAge:{$lt:10}}]}).sort({UserAge:1})//select UserId,UserName,UserAge from UserModel
db.UserModel.find({},{UserId:1,UserName:1,UserAge:1})//select UserName,UserAge,IsNormal,CreateTime from UserModel,查询出除UserId以外的所有列
db.UserModel.find({},{UserId:0})//select UserId,UserName,UserAge from UserModel where UserAge<=10 and UserAge<=20
db.UserModel.find({UserAge:{$gte:10,$lte:20}},{UserId:1,UserName:1,UserAge:1})//select top 1 * from UserModel
db.UserModel.findOne() 等价于 db.UserModel.find().limit(1)//返回满足查询条件的集合总条数:select count(*) from UserModel where UserAge<=10 and UserAge<=20
db.UserModel.find({UserAge:{$gte:10,$lte:20}}).count()//如果是分页的查询,如果设置count(1)或count(true),则返回的条数就是当前页查询的结果总条数,而不是查询条件的总条数
db.UserModel.find({UserAge:{$gte:10,$lte:20}}).sort({UserAge:1}).limit(2).skip(5*2).count(1)//分组查询,select Status,count(*) from UserModel group by Status
db.UserModel.aggregate([{$group:{_id:'$Status',总数:{$sum:1}}}
])//select distinct Status from UserModel
db.UserModel.distinct('Status')//综合查询示例语句(分页查询)
/*查询UserModel的第二页数据,每页5条数据查询条件为:where Status=1 and (UserName like'%Qu%' or UserName like'Ja%') and (UserAge>=40 or UserAge<=20)查询的字段为:UserId,UserName,UserAge,IsNormal,Dtl
*/
db.UserModel.find({Status:1,$or:[{UserName:/Qu/},{UserName:/^Ja/}],$or:[{UserAge:{$gte:40}},{UserAge:{$lte:20}}]},{UserId:1,UserName:1,UserAge:1,IsNormal:1,Dtl:1}
)
.sort({UserAge:1})
.limit(5).skip((2-1)*5)
//.count()  //返回总条数

MongoDB的查询语句示例说明相关推荐

  1. Oracle数据库数据查询语句示例(包含大部分常用语句)

    Oracle数据库数据查询语句示例(包含大部分常用语句) 目标 本文用到的关系模式 语句示例 1.在创建的s,p,j和spj表中完成以下查询 (1)查询零件重量在10-20之间(包括10和20)的零件 ...

  2. Mongodb常用查询语句_笔记

    目录 前言 一.Mongodb简介 二.Mongodb常用查询语句 总结 前言 工作中会使用到Mongodb数据库,这是一个非关系型数据库,所以它的一些查询语句跟sql会不太一样,一时半会不能马上写出 ...

  3. mysql联表查询语句示例

    mysql联表查询语句示例 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 示例: "sele ...

  4. mongo数据库的各种查询语句示例(比较全的)

    左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...

  5. MongoDB常用查询语句

    如果觉得 Mongodb 语句不太好理解,可以和 SQL 语句进行对比,学起来要容易很多. 1. 查询(find) 查询所有结果 select * from article db.article.fi ...

  6. MongoDB基本查询语句

    文章目录 查询选择器 查询就是获取存储在数据库中的数据.在MongoDB中,查询通常针对一个集合来操作.查询可以指定查询条件,只返回匹配的文档:还可以指定投影项,只返回指定的字段,减少返回数据到客户端 ...

  7. 数据库中的查询语句示例—select单表查询

    宝子们!我们首先要了解SELECT语句的一般格式: SELECT[ALL|DISTINCT]<目标表达式>[,<目标表达式>]...      //DISTINCT:消除重复值 ...

  8. mysql中查询没有选修某两门课的_50条SQL查询技巧、查询语句示例

    Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...

  9. Mongodb常用查询语句(对比SQL)

    1.查询所有记录 db.mycol.find(); -- select * from mycol; 2.查询 name = "jack" 的记录 db.mycol.find({&q ...

  10. MongoDB 常用查询语句

    数据库工具:Navicat id :1-7 createTime是字符串类型,8-13 createTime是date类型 直接贴代码: 查所有 db.getCollection("memb ...

最新文章

  1. redis面试全家桶
  2. Hibernate执行原生SQL
  3. redis批量操作及性能分析
  4. 【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用
  5. java如何实现python的urllib.quote(str,safe='/')
  6. 【待继续研究】除了专家模型,这两大模型也被普遍应用于信用评估
  7. 这些潮汕美食你吃过没有?
  8. Mybatis核心配置文件xml详解
  9. 工业以太网交换机出现温度过高如何处理?
  10. 便把他手中的i698源代码拐杖转了一圈
  11. 使用SourceTree
  12. 1、流程控制语句switch 2、数组 3、随机点名器案例
  13. 学生信息管理系统(纯前端页面)———无后端数据库
  14. Python3 验证二代身份证号码信息
  15. 知识图谱-构建:知识图谱构建流程【本体构建、知识抽取(实体抽取、 关系抽取、属性抽取)、知识表示、知识融合、知识存储】
  16. 斐波那契数列(各种代码实现斐波那契数列)
  17. 编译祁大神的iguana,大神就是大神.
  18. Rabbitmq 基础
  19. CSS font-size单位
  20. JQuery- JQuery学习

热门文章

  1. SylixOS Python扩展库开发
  2. SQLServer 使用sp_repldone标识所有未分发的事务为已分发
  3. libQt5Core.so: undefined reference to `dlclose@GLIBC_2.4'
  4. td中使用overflow:hidden; 无效解决方案
  5. STM32F10x 学习笔记4(CRC计算单元 续)
  6. php 字符串操作函数
  7. SOA项目技术实施指南
  8. 3.微服务:从设计到部署 --- 进程间通信
  9. 17.nginx 的 rewrite 功能
  10. ds哈希查找—二次探测再散列_哈希算法高大上?也不过如此