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. cmake手册详解----转

    参考链接:http://www.cnblogs.com/coderfenghc/tag/cmake/

  2. spoj 1812 lcsII (后缀自动机)

    spoj 1812 lcsII (后缀自动机) 题意:求多个串的lcs,最多10个串,每个串最长10w 解题思路:后缀自动机.先建好第一个串的sam,然后后面的串拿上去跑(这个过程同前一题).sam上 ...

  3. MVC与WebForm的简单的比较

    MVC与WebForm的简单的比较 ASP 强制程序员将业务逻辑和展示页放到一个文件中 WebForm 允许程序员将业务逻辑与页面展示分开到不同的文件中,并且提供强大的开发平台来写  业务逻辑代码  ...

  4. xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)

    链接地址:http://blog.csdn.net/mad1989/article/details/8167529 打包发布APP流程真机测试和APP发布流程APP提交审核流程真机测试打包发布上传出错 ...

  5. 微信jssdk已无力吐槽

    微信强大的整合能力让企业公众号的开发迅速窜红.尤其是企业须要个性化定制的一些功能.公司在同一时候上线的app和触屏版的应用中,微信分享自然是不可或缺的重要一环. 纵观如今大多数的微信公众号.分享大都是 ...

  6. Eclipse用法和技巧十:显示代码outline

    在一个文件中快速找到某一个方法或者某一个作用域,可以使用 Ctrl+O或者Ctrl+F3,快速显示当前代码的outline,进行快速查找.效果如下:        这里主要是补充一些后续操作,能更加方 ...

  7. 基于visual Studio2013解决C语言竞赛题之1061最大值和次最大值

       题目 解决代码及点评 /* 功能: 编写子函数, 求一维整型数组M[10]的最大值及次最大值(次最大值可能不存在). 主函数中输入10个整数, 然后调用上述子函数, 若次最大值存在, ...

  8. Magento给产品添加“new”或者折扣数量标签 magento new label. discount label

    文章最底部有效果图. 给新产品添加“new”的标签.给折扣产品,显示出折扣的数量. 这个可以自己写一段代码加在到模板文件夹下面的catalog/product/list.phtml中. 以下是代码 & ...

  9. C++学习之路—继承与派生(一):基本概念与基类成员的访问属性

    (本文根据<c++程序设计>(谭浩强)总结而成,整理者:华科小涛@http://www.cnblogs.com/hust-ghtao,转载请注明) 1   基本思想与概念 在传统的程序设计 ...

  10. 我觉得主要靠积累,难度不是问题,主要靠时间积累,以及兴趣带来的学习能力(我觉得至少5年全职Qt开发经验,才能算精通)

    顺便想请教一下,你用QT有几年了? 3年不到 那感觉怎么样?是比较难,还是不难但需要时间才能掌握全部? 很多东西真的要拿来做项目了,才会懂.要靠积累.一开始看看理论貌似都很简单. 但是QT和C++本身 ...