1、查询所有记录

复制代码代码如下:

db.userInfo.find();

相当于:select* from userInfo;

默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”

但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。

2、查询去掉后的当前聚集集合中的某列的重复数据

复制代码代码如下:

db.userInfo.distinct("name");

会过滤掉name中的相同数据

相当于:select distict name from userInfo;

3、查询age = 22的记录

复制代码代码如下:

db.userInfo.find({"age": 22});

相当于: select * from userInfo where age = 22;


4、查询age > 22的记录

复制代码代码如下:

db.userInfo.find({age: {$gt: 22}});

相当于:select * from userInfo where age >22;


5、查询age < 22的记录

复制代码代码如下:

db.userInfo.find({age: {$lt: 22}});

相当于:select * from userInfo where age <22;


6、查询age >= 25的记录
复制代码代码如下:

db.userInfo.find({age: {$gte: 25}});

相当于:select * from userInfo where age >= 25;


7、查询age <= 25的记录
复制代码代码如下:

db.userInfo.find({age: {$lte: 25}});

8、查询age >= 23 并且 age <= 26

复制代码代码如下:

db.userInfo.find({age: {$gte: 23, $lte: 26}});

9、查询name中包含 mongo的数据
复制代码代码如下:

db.userInfo.find({name: /mongo/});

//相当于%%

select * from userInfo where name like ‘%mongo%';

10、查询name中以mongo开头的
复制代码代码如下:

db.userInfo.find({name: /^mongo/});

select * from userInfo where name like ‘mongo%';

11、查询指定列name、age数据

复制代码代码如下:

db.userInfo.find({}, {name: 1, age: 1});

相当于: select name, age from userInfo;
当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。

12、查询指定列name、age数据, age > 25

复制代码代码如下:

db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});

相当于: select name, age from userInfo where age >25;

13、按照年龄排序

复制代码代码如下:

升序:

db.userInfo.find().sort({age: 1});

降序:

db.userInfo.find().sort({age: -1});

14、查询name = zhangsan, age = 22的数据
复制代码代码如下:

db.userInfo.find({name: 'zhangsan', age: 22});

相当于: select * from userInfo where name = ‘zhangsan' and age = ‘22';

15、查询前5条数据

复制代码代码如下:

db.userInfo.find().limit(5);

相当于: select top 5  * from userInfo;

16、查询10条以后的数据

复制代码代码如下:

db.userInfo.find().skip(10);

相当于:

select * from userInfo where id not in (

select top 10 * from userInfo
);

17、查询在5-10之间的数据

复制代码代码如下:

db.userInfo.find().limit(10).skip(5);

limit是限制显示的数量,skip是跳过的数量。

18、or与 查询

复制代码代码如下:

db.userInfo.find({$or: [{age: 22}, {age: 25}]});

相当于: select * from userInfo where age = 22 or age = 25;

19、查询第一条数据

复制代码代码如下:

db.userInfo.findOne();

相当于:

select top 1 * from userInfo;

db.userInfo.find().limit(1);


20、查询某个结果集的记录条数
复制代码代码如下:

db.userInfo.find({age: {$gte: 25}}).count();

相当于:select count(*) from userInfo where age >= 20;


21、按照某列进行排序
复制代码代码如下:

db.userInfo.find({sex: {$exists: true}}).count();

相当于:select count(sex) from userInfo;

MongoDB查询命令详解相关推荐

  1. MongoDB compact 命令详解

    为什么需要 compact 一图胜千言 remove 与 drop 的区别 MongoDB 里删除一个集合里所有文档,有两种方式 db.collection.remove({}, {multi: tr ...

  2. MongoDB——查询操作详解

    查询语法 db.collection_name.find (query, //查询条件projection //可选,指定需要返回的字段:默认返回所有字段 ) 查询集合所有文档 可以在find()后调 ...

  3. MongoDB——删除命令详解

    语法 db.collection.remove(<query>, //删除条件{justOne: <boolean>,writeConcern: <document> ...

  4. Linux(Ubuntu)内存查询top命令详解

    linux中的top命令详解 引言 top命令是UNIX/Linux系统中,用于查看系统详情的第一入口,一般我们查看机器运行状态的时候,总是第一个使用top命令,而实际上top命令展示的数据很多,对于 ...

  5. windows/NBTSTAT,linux/nmblookup命令详解,查询NetBIOS名

    NBTSTAT命令详解 请问: Linux下有没有和nbtstat一样的命令,用 nmblookup -A ip 可以 nbstat命令主要用于查看当前基于netbios的tcp/ip连接状态,通过该 ...

  6. mongodb不等于某个值_MongoDb进阶实践之四 MongoDB查询命令详述

    一.引言 上一篇文章我们已经介绍了MongoDB数据库的最基本操作,包括数据库的创建.使用和删除数据库,文档的操作也涉及到了文档的创建.删除.更新和查询,当然也包括集合的创建.重命名和删除.有了这些基 ...

  7. linux who命令功能,Linux who命令详解

    who 命令显示关于当前在本地系统上的所有用户的信息.显示以下内容:登录名.tty.登录日期和时间.输入whoami 显示您的登录名.tty.您登录的日期和时间.如果用户是从一个远程机器登录的,那么该 ...

  8. Linux系统与网络、磁盘参数和日志监控等命令详解二

    创作人QQ:851301776,邮箱:lfr890207@163.com, 欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点! 个人座右铭: 1.没有横空出世,只要厚积一定发. ...

  9. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  10. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

最新文章

  1. @bean注解和@component注解的区别_阿里面试题一:spring里面使用xml配置和注解配置区别...
  2. WebService大讲堂之Axis2(4):二进制文件传输
  3. EFCore查缺补漏(二):查询
  4. day 34 守护线程守护进程 互斥锁线程 信号量 生产者消费者
  5. Flask wtforms
  6. mysql 定期备份_MySQL定时备份(全量备份+增量备份)
  7. 2017.12.1T19_B2_6
  8. 《剑指offer》面试题15——链表中倒数第k个结点
  9. 首届Filecoin矿工大会会议重点
  10. HIT CSAPP大作业--程序人生
  11. 透过现象看本质:喧闹的中国电子商务
  12. 【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores
  13. 手机数据线种类有哪些
  14. 美国软件公司Salesforce获得区块链反垃圾邮件解决方案专利
  15. 夜光 :AGV 导航策略总体方案设计
  16. jack编译突然无法编译的问题
  17. SparkSQL 自定义UDF提取json中的字段
  18. Lambada表达式常用案例(技能题)
  19. Zphyr_Bluetooth
  20. 面向对象设计原则之三--依赖倒置(转)原则

热门文章

  1. 并查集 --算法竞赛专题解析(3)
  2. yum rpm 命令
  3. 2017 闰秒 linux,闰秒为什么会导致Linux出现问题
  4. CSS强制图像调整大小并保持纵横比
  5. 集合addAll方法使用存在的问题。
  6. linux内核源码分析之proc文件系统(二)
  7. win10网络适配器不见了_win10设备管理器里没有网络适配器的原因及处理方法
  8. 核只有单位元等价于映射是单射
  9. java设置连接超时_HttpClient设置连接超时时间
  10. js去除字符串中的空白字符(也可以去除其他字符串)