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);
相当于:selecttop 5 * from userInfo;
16、查询10条以后的数据
db.userInfo.find().skip(10);
相当于:select * from userInfo where id not in (
selecttop 10 * from userInfo
);
17、查询在5-10之间的数据
db.userInfo.find().limit(10).skip(5);
可用于分页,limit是pageSize,skip是第几页*pageSize
18、or与 查询
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
相当于:select * from userInfo where age = 22 or age = 25;
19、查询第一条数据
db.userInfo.findOne();
相当于:selecttop 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是一种流行的开源、分布式、非关系型数据库系统,它以JSON格式的文档作为存储单元,提供了高性能、高可用性和可扩展性。在本在线教育项目中,我们重点关注的是MongoDB的数据管理和操作,特别是通过客户端工具...
MongoDB非关系型数据库存储设计
MongoDB 是一个流行的开源、非关系型数据库系统,它属于NoSQL数据库的一种,以其灵活性、高性能和可扩展性而受到广泛关注。MongoDB的设计理念是处理大量数据并支持高并发读写操作,尤其适合于需要存储半结构化或结构...
适合人群:适用于初学者和具有一定编程基础的技术人员,特别是对非关系型数据库感兴趣的人士。 使用场景及目标:通过实际操作MongoDB,读者可以学会如何进行数据库的基本管理,掌握数据的增删改查操作,为进一步学习...
MongoDB 是一种非关系型数据库,基于文档的存储,是介于关系数据库和非关系数据库之间的产品。 MongoDB 的特点包括: 1. MongoDB 支持的数据结构非常松散,是类似 json 的 bjson 格式。 2. MongoDB 的模式自由...
在"mongoDB非关系型数据库第一天建表语句"的学习中,我们将深入理解MongoDB的基本概念和操作,包括如何创建、插入、查询和更新数据。以下是一些核心知识点: 1. **集合(Collections)**:集合是MongoDB中存储数据...
MongoDB是一种流行的NoSQL数据库,它的设计理念与传统的关系型数据库(如MySQL、Oracle等)有着显著的差异。本文将深入探讨MongoDB与传统DB的异同,并解析它们各自的特点。 首先,从架构层面来看,MongoDB摒弃了...
在山东大学软件学院的大三上专业限选课中,学生们将深入学习非关系型数据库的理论知识与实践技能。这门课程可能涵盖了以下几个重要的知识点: 1. **数据模型**:NoSQL数据库通常采用键值对、列族、文档型或图形等...
基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,...
MongoDB中的一个文档相当于关系型数据库中的一行,多个文档构成了集合(collection),集合类似于关系型数据库中的表。 (3)文档 (行数据): 文档则相当于传统关系型数据的行数据,对于集合中的介绍,我们基本...
NoSQL(Not only SQL,非关系型数据库)有不下于 25 种,例如 Dynamo、Bigtable、Amazon 的 SimpleDB、微软公司的 AzureTable、Facebook 使用的 Cassandra、类 Bigtable 的 Hypertable、Hadoop 的 HBase、MongoDB、...
MongoDB中的一个文档相当于关系型数据库中的一行,多个文档构成了集合(collection),集合类似于关系型数据库中的表。 (3)文档 (行数据): 文档则相当于传统关系型数据的行数据,对于集合中的介绍,我们基本...
MongoDB中的一个文档相当于关系型数据库中的一行,多个文档构成了集合(collection),集合类似于关系型数据库中的表。 (3)文档 (行数据): 文档则相当于传统关系型数据的行数据,对于集合中的介绍,我们基本...
总之,Robo 3T作为一款强大的MongoDB管理工具,使得非关系型数据库的管理和操作变得更加简单直观,对于开发人员和数据库管理员来说是非常实用的工具。通过学习和使用Robo 3T,我们可以更好地理解和掌握MongoDB数据库...