MongoDB数据查询

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 1、find函数的介绍和使用 MongoDB数据查询使用find函数,其功能与SQL中的select函数相同,可提供与关系型数据库类似的许多功能,包括映射、排序等。db.集合名.find(query,fields,limit,skip)query指查询条件,相当于SQL中的where语句。例如: db.student.find({name:"joe","age"

1、find函数的介绍和使用
MongoDB数据查询使用find函数,其功能与SQL中的select函数相同,可提供与关系型数据库类似的许多功能,包括映射、排序等。

db.集合名.find(query,fields,limit,skip)
query指查询条件,相当于SQL中的where语句。
例如: db.student.find({name:"joe","age":{$lt:22}})
fields用于字段映射(projection)语法格式:{field:0}
例如:db.student.find({"age":{$lt:22}},{"_id":0,"name":1})

limit用于限制查询结果集的文档数量。
skip用于跳过一定数据量的结果,设置第一条返回文档的偏移量。
需要注意:
不支持多集合间的连接查询,find函数一次查询只能针对一个集合。
find函数参数为空或者查询条件为空文档时,会返回集合中的所有文档,例如:db.student.find() 或 db.student.find({})
除了将limit和skip作为find函数的参数外,还可以单独使用limit和skip函数来修饰查询结果。
查询结果默认是无序的,如果需要对结果进行排序,可以使用sort函数。
findOne()只会返回第一条数据。
当查询的结果文档数量很大时,为了加快数据查询的速度可以创建索引。
除了使用find函数实现基本查询外,MongoDB还提供了聚合框架,用于复杂查询。
2、比较查询符

$eq/$ne   等于/不等于
$gt/$gte 大于/大于等于
$lt/$lte 小于/小于等于
$in/$nin  包含/不包含

3、逻辑查询操作符
可连接多个查询条件,用于逻辑与、或、非以及取反操作。

$and$or$nor$not   取反

4、元素查询操作符

$exits   按照字段是否存在来查询文档
$type   选择字段值为指定的BSON数据类型编号的文档
$where操作符功能强大且灵活,它可以将JavaScript表达式的字符串或JavaScript函数作为查询语句的一部分。在JavaScript表达式和函数中,可以使用this或obj来引用当前操作的文档。
例如: db.collection.find({ $where:"this.credits==this.debits"})
JavaScript表达式或函数返回true时,才会返回当前文档。
查询时,$where 操作符不能使用索引,每个文档需要从BSON对象转换成JavaScript对象后,才能通过$where表达式来运行。因此,它比常规查询要慢很多,一般情况下要避免使用$where查询。
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
NoSQL MongoDB
12 MongoDB - 数据查询(消除重复)
12 MongoDB - 数据查询(消除重复)
228 0
|
NoSQL MongoDB
11 MongoDB - 数据查询(统计个数)
11 MongoDB - 数据查询(统计个数)
843 0
|
5月前
|
数据采集 监控 NoSQL
MongoDB 正则表达式详解:高效数据查询与处理技巧
MongoDB 正则表达式详解:高效数据查询与处理技巧
123 0
|
NoSQL MongoDB
10 MongoDB - 数据查询(排序)
10 MongoDB - 数据查询(排序)
56 0
|
NoSQL MongoDB
09 MongoDB - 数据查询(投影)
09 MongoDB - 数据查询(投影)
57 0
|
NoSQL MongoDB
08 MongoDB - 数据查询(Limit 与 Skip)
08 MongoDB - 数据查询(Limit 与 Skip)
75 0
|
NoSQL MongoDB
07 MongoDB - 数据查询
07 MongoDB - 数据查询
49 0
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
12天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。