Mongodb常用查询

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 1,比较运算查询最近在用mongo,有个需求是查询每天入库的数据量,翻了翻教程,在mysql中查询是between..and..或者 >、>=、= 20 并且 age

1,比较运算查询

最近在用mongo,有个需求是查询每天入库的数据量,翻了翻教程,
在mysql中查询是between..and..或者 >、>=、<、<=来查询指定的时间范围数据,
但是mongodb有自己的语法。mongodb里比较,用 "$gt" 、"$gte"、 "$lt"、 "$lte"分别对应">"、 ">=" 、"<" 、"<=",组合起来可以进行范围的查找。

例:查询2月11日data01中的数据条数,

查询2月11日data01中的数据条数,日期转为时间戳1518278400,字段名:DataTime

db.getCollection('data01').find({'DataTime':{'$gte':1518278400}}).count()

例:查询 age >= 20 并且 age <= 30
db.getCollection('data01').find({age : {$gte : 20, $lte: 30}})

2,查询所有记录

db.getCollection('v3_data_03').find(); // 相当于 select * from v3_data_03

3,查询nam字段的所有值

db.getCollection('v3_data_03').distinct("name"); // 会过滤掉name中的相同数据

相当于:select distinct name from userInfo;

4,模糊查询

查询name中包含mongo的数据
db.getCollection('v3_data_03').find({ "name" : /mongo/});
相当于 select * from v3_data_03where name like '%mongo%'
查询name中以mongo开头的
db.getCollection('v3_data_03').find("name" : /^mongo/");
相当于select * from v3_data_03where name like 'mongo%';

5,查询指定条件下指定列column、InMongoTimet数据

db.getCollection('v3_data_03').find({}, {"column":1, "InMongoTimet":1});//查询column和InMongoTimet这两个字段
db.getCollection('v3_data_03').find({}, {"column":0});  //查询除column外其他的字段
db.getCollection('v3_data_03').find({"column1":"demo"}, {"column":1, "InMongoTimet":1});//组合条件查询
相当于:select column,InMongoTimetfrom v3_data_03;

当然name也可以用true或false,当用true的情况下和name:1的效果一样,如果用false就是排除name,显示name以外的列信息。例:

db.getCollection('v3_data_03').find({}, {"column":true, "InMongoTimet":true}); //等效于上边第一条
db.getCollection('v3_data_03').find({}, {"column":fales});  //等效于上边第二条
查询指定列column、InMongoTimet数据,InMongoTimet> 1522339200 (3月30号之后的数据)
db.v3_data_03.find({InMongoTimet: {$gt : 1522339200}}, {column: 1 , InMongoTimet: 1})
相当于: select column, InMongoTimetfrom v3_data_03where InMongoTimet> 25;

6,排序查询

升序:db.getCollection('data_01').find({"column1":"","column":""}).sort({"DataTime":1}) //DataTime字段升序输出
降序:db.getCollection('data_01').find({"column1":"","column":""}).sort({"DataTime":-1})//降序输出

7,限制查询

db.getCollection('data_01').find().limit(5);  //查询前五条
相当于:select * from data_01 limit 5;

查询10条以后的数据
db.userinfo.find().skip(10);

8,分页查询

查询在5-10之间的数据

db.getCollection('data_01').find().limit(10).skip(5);

9,or查询

db.getCollection('data_01').find({$or : [{column: "2"}, {column1: "24"}]});
相当于:select * from data_01 where column= 2 or  column1 =  24;

10,查询条数

db.getCollection('data_01').find({}).count()
相当于:select count(*) from data_01where age >= 20;

11,按照某列进行排序

db.getCollection('data_01').find({column: {$exists : true}}).count();
相当于:select count(column) from data_01
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
3月前
|
存储 NoSQL MongoDB
掌握MongoDB索引优化策略:提升查询效率的关键
在数据库性能调优中,索引是提升查询效率的利器。本文将带你深入了解MongoDB索引的内部工作原理,探讨索引对查询性能的影响,并通过实际案例指导如何针对不同的查询模式建立有效的索引。不仅将涵盖单一字段索引,还会探讨复合索引的使用,以及如何通过分析查询模式和执行计划来优化索引,最终实现查询性能的最大化。
|
15天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
52 9
|
3月前
|
存储 NoSQL MongoDB
MongoDB 查询分析
10月更文挑战第21天
24 1
|
3月前
|
NoSQL MongoDB 索引
MongoDB 覆盖索引查询
10月更文挑战第21天
44 1
|
3月前
|
SQL NoSQL MongoDB
MongoDB 查询文档
10月更文挑战第15天
46 1
|
7月前
|
NoSQL 定位技术 MongoDB
解锁MongoDB索引的秘密:优化查询效率与应对限制的策略
解锁MongoDB索引的秘密:优化查询效率与应对限制的策略
114 0
|
3月前
|
人工智能 NoSQL 机器人
MongoDB Atlas与YoMio.AI近乎完美适配:推理更快速、查询更灵活、场景更丰富
随着MongoDB的新发布和革新,YoMio.AI的“闪电式发展”值得期待。
|
4月前
|
SQL NoSQL JavaScript
04 MongoDB各种查询操作 以及聚合操作总结
文章全面总结了MongoDB中的查询操作及聚合操作,包括基本查询、条件筛选、排序以及聚合管道的使用方法和实例。
120 0
|
5月前
|
JSON NoSQL MongoDB
MongoDB Schema设计实战指南:优化数据结构,提升查询性能与数据一致性
【8月更文挑战第24天】MongoDB是一款领先的NoSQL数据库,其灵活的文档模型突破了传统关系型数据库的限制。它允许自定义数据结构,适应多样化的数据需求。设计MongoDB的Schema时需考虑数据访问模式、一致性需求及性能因素。设计原则强调简洁性、查询优化与合理使用索引。例如,在构建博客系统时,可以通过精心设计文章和用户的集合结构来提高查询效率并确保数据一致性。正确设计能够充分发挥MongoDB的优势,实现高效的数据管理。
116 3
|
5月前
|
存储 NoSQL MongoDB
【掌握MongoDB】轻松精通MongoDB查询,从基础到高级一网打尽!
【8月更文挑战第24天】在数据驱动的时代,数据库的性能与灵活性对企业至关重要。MongoDB作为一种高性能、无模式的文档数据库,为开发者提供了灵活的数据存储方案。尤其在处理半结构化或多变数据时展现出强大优势。本文重点介绍MongoDB中的查询操作,包括基本查询、条件查询、复杂查询以及字段选择、排序和限制等功能。通过掌握这些基本查询技巧,开发者能够有效从MongoDB中检索数据,支持复杂的业务逻辑。
90 1