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进阶实践之六 MongoDB查询命令详述(补充)

    一.引言         上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入,对查询又有了新的东西,决定补充进来.如果大家想看上一篇有关MongoDB查询的 ...

  2. MongoDb进阶实践之三 MongoDB查询命令详述

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

  3. MongoDb进阶实践之四 MongoDB查询命令详述

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

  4. Mongodb查询命令详解

    前面我们简单的讲了下find方法,下面来深入的过一下它的用法以及常用的字方法. 下面是mongo中db.user.help()中对find方法的定义和解释: db.user.find([query], ...

  5. MongoDB查询修改操作语句命令大全

    MongoDB查询更新操作语句命令大全 查询操作 1.条件操作符 <, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的db.collection.find({ ...

  6. MongoDB常用命令

    本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell.pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程. MongoDB的使用之前也分享过一篇, ...

  7. MongoDB 基础命令行

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 登录和退出 mongo命令直 ...

  8. Mongodb查询的用法,备注防止忘记

    最近在用这个东西,为防止忘记,记下来. 集合简单查询方法 mongodb语法:db.collection.find()  //collection就是集合的名称,这个可以自己进行创建. 对比sql语句 ...

  9. Mongodb数据更新命令

    一.Mongodb数据更新命令 Mongodb更新有两个命令:update.save. 1.1update命令 update命令格式: db.collection.update(criteria,ob ...

随机推荐

  1. Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)

    1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约 ...

  2. 服务列表 - Sina App Engine

    服务列表 - Sina App Engine 短信服务 新浪无线短信服务是由新浪无线提供的综合性短信服务. 使用服务 下载SDK: php 服务首页 方法 新浪无线短信服务是由新浪无线提供的综合性短信 ...

  3. ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt

    mysql跳过权限: mysqld -nt --skip-grant-tables opt 登录:mysql -uroot -p 修改root密码 set password for 'root'@'l ...

  4. Oracle 当前时间加减

     当我们用 select sysdate+number from dual ;我们得到的是,当前的时间加上number天后的时间.从这里我们也可以看出,使用这种方式进行时间计算的时候,计算的单位是天, ...

  5. 基于visual Studio2013解决面试题之1401冒泡排序

     题目

  6. 基于visual Studio2013解决C语言竞赛题之1032平方和

          题目 解决代码及点评 /* 编程序将一个正整数写成其它两个正整数的平方和,若不能成立时输出"NO".例如 5 = 1^2 + 2^2 , 25 ...

  7. Lisp学习:这是本质与应用?

    The Common Lisp Programming Language "The programming language of choice for those who set out ...

  8. 抽象类(abstract class)和 接口(interface)

    PHP中的 抽象类(abstract class)和 接口(interface) 一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方 ...

  9. Amazon RDS的通用型存储(SSD)

    在今年的6月份,我们曾介绍过为Amazon EC2实例提供的基于SSD的弹性块级存储. 在公布几个月过后,这样的被称为通用型存储(SSD)的新型选择方式在创建新的EBS卷中已经占到了90%,我们从客户 ...

  10. Spring通过工厂创建实例的注意事项

    假设第三方(or别的team)提供一个工厂类(此类是不能够改动的.往往以jar包形式提供的),须要供给我们项目来使用. 可是我们自己的项目使用了spring来配置,所以我们当然希望可以通过spring ...