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. QScriptEngine

    其实你有好多没有介绍 比如qt文字 我一直很迷惑qt的文字的长宽 qt文字的字间距 等等这些东西还有QProcess QProcess可能是qt调用c#的唯一方法了QScript要比你想象的重要,一个 ...

  2. 改动项目APP名字后,在真机执行报错:The provisioning profile specified in your build settings (“haotian”) has an AppI

    错误提醒:The provisioning profile specified in your build settings ("haotian") has an AppID of ...

  3. 搭建python集成开发环境.

    需要搭建的内容一共有三项, python ,wxpython 以及spe.     其中spe 是python 的可视化集成开发环境(ide) , 其需要python GUI图形库wxpython的支 ...

  4. CodeFirst 表之间的关联

    多重性关系可以是Optional(一个属性可拥有一个单个实例或没有) Required(一个属性必须拥有一个单个实例) Many很多的(一个属性可以拥有一个集合或一个单个实例). Has方法包括如下几 ...

  5. 使用boost中的property_tree实现配置文件

    property_tree是专为配置文件而写,支持xml,ini和json格式文件   ini比较简单,适合简单的配置,通常可能需要保存数组,这时xml是个不错的选择.   使用property_tr ...

  6. 4Sum -- LeetCode

    原题链接: http://oj.leetcode.com/problems/4sum/  这道题要求跟3Sum差点儿相同,仅仅是需求扩展到四个的数字的和了.我们还是能够依照3Sum中的解法,仅仅是在外 ...

  7. spring中bean的一些知识点

    知识点1: 实例化bean的3种方法. 1.      使用类构造器 (90%用这个方法) 2.      使用静态工厂方法 3.      使用实例化工厂 知识点2: 看这段代码 Applicati ...

  8. PYTHON学习第二天[脑图][2]

    控制流语句:if , for ,while , break , continue

  9. Qt递归拷贝和删除目录

    最近在翻看项目代码时,看到了这两个函数,想到这个功能十分常用,因此拿出来与大家分享,希望对大家有用.几点说明: 1.记得当初写代码那会,是参考了网上的帖子写的,做了一点小修改.因此代码源于网络. 2. ...

  10. Linux的grep命令详解

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...