MongoDB查询命令具体解释
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查询命令具体解释的更多相关文章
- MongoDb进阶实践之六 MongoDB查询命令详述(补充)
一.引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入,对查询又有了新的东西,决定补充进来.如果大家想看上一篇有关MongoDB查询的 ...
- MongoDb进阶实践之三 MongoDB查询命令详述
一.引言 上一篇文章我们已经介绍了MongoDB数据库的最基本操作,包括数据库的创建.使用和删除数据库,文档的操作也涉及到了文档的创建.删除.更新和查询,当然也包括集合的创建.重命 ...
- MongoDb进阶实践之四 MongoDB查询命令详述
一.引言 上一篇文章我们已经介绍了MongoDB数据库的最基本操作,包括数据库的创建.使用和删除数据库,文档的操作也涉及到了文档的创建.删除.更新和查询,当然也包括集合的创建.重命名和删除.有了这些基 ...
- Mongodb查询命令详解
前面我们简单的讲了下find方法,下面来深入的过一下它的用法以及常用的字方法. 下面是mongo中db.user.help()中对find方法的定义和解释: db.user.find([query], ...
- MongoDB查询修改操作语句命令大全
MongoDB查询更新操作语句命令大全 查询操作 1.条件操作符 <, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的db.collection.find({ ...
- MongoDB常用命令
本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell.pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程. MongoDB的使用之前也分享过一篇, ...
- MongoDB 基础命令行
本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 登录和退出 mongo命令直 ...
- Mongodb查询的用法,备注防止忘记
最近在用这个东西,为防止忘记,记下来. 集合简单查询方法 mongodb语法:db.collection.find() //collection就是集合的名称,这个可以自己进行创建. 对比sql语句 ...
- Mongodb数据更新命令
一.Mongodb数据更新命令 Mongodb更新有两个命令:update.save. 1.1update命令 update命令格式: db.collection.update(criteria,ob ...
随机推荐
- ZYSocket 4.3.5 SOCKET框架组 发布[NEW]
最新代码请到 github: https://github.com/luyikk/ZYSOCKET 更新 4.3.5更新说明: 修复各种BUG. 重写了一份 protobuf-net 有什么用呢,不需 ...
- Laravel创建Model
它已被用于CI框架.最近学习使用Laravel框架,要总结一些遇到的问题是一个创纪录,供以后调用.此外,我希望能够碰到同样的问题的朋友的帮助. 在Laravel数据库表是根据Laravel写好的程序去 ...
- Route@书写规则的总结
路由书写规则的总结 概念:Routing System由一组路由组成,每一个路由规则可以匹配一种类型的URL,在请求过来的时候,Ruting ystem 就用它来处理这个URL,路由的任务就是匹配UR ...
- Eclipse用法和技巧二十一:工程的展示途径
用eclipse阅读代码的时候,有时候代码会变成如图一所示的样子,有时候可能是图二的样子.为什么有时候是图一有时候是图二,笔者也不是很清楚.不过怎么手动设置成图一图二,就是接下来要讲的东西. 1 ...
- 利用T4模版生成EF实体
直接上代码,只需要修改EF实体的地址就可以了. <#@ template language="C#" debug="false" hostspecific ...
- Android studio: 自 maven 增加一個函式庫
在 android studio 裏要加入一個 3rd party 的 library 其實不是很麻煩, 祇是現在沒有 UI, 所以需要一些手動作業.看來 google 很看好 android stu ...
- Get started - UIkit documentation
Get started - UIkit documentation Get started Get familiar with the basic setup and structure of UIk ...
- 安装windows7导致Ubuntu启动项消失的问题的解决
系统原来是Ubuntu14,前两天安装win7后,启动直接是win7.也就是Ubuntu的启动项消失了. 在windows下尝试非常多方法,都以失败告终,最后选择Ubuntu下boot-repair软 ...
- 对 sql server 数据库的备份进行加密
原文:对 sql server 数据库的备份进行加密 嗯,最近在研究数据库备份相关的东西,考虑到应该为数据库备份加个密,就准备从网上搜索一下看看有什么好办法,没想到还挺乱... 首先,我从网上搜到的, ...
- 基于visual Studio2013解决C语言竞赛题之1092链表转换
题目 解决代码及点评 /************************************************************************/ /* ...