MongoDB数据查询

简介: 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查询。
目录
相关文章
|
NoSQL MongoDB
12 MongoDB - 数据查询(消除重复)
12 MongoDB - 数据查询(消除重复)
646 0
|
NoSQL MongoDB
11 MongoDB - 数据查询(统计个数)
11 MongoDB - 数据查询(统计个数)
1822 0
|
数据采集 监控 NoSQL
MongoDB 正则表达式详解:高效数据查询与处理技巧
MongoDB 正则表达式详解:高效数据查询与处理技巧
627 0
|
NoSQL MongoDB
10 MongoDB - 数据查询(排序)
10 MongoDB - 数据查询(排序)
167 0
|
NoSQL MongoDB
09 MongoDB - 数据查询(投影)
09 MongoDB - 数据查询(投影)
211 0
|
NoSQL MongoDB
08 MongoDB - 数据查询(Limit 与 Skip)
08 MongoDB - 数据查询(Limit 与 Skip)
266 0
|
NoSQL MongoDB
07 MongoDB - 数据查询
07 MongoDB - 数据查询
235 0
|
11月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
11月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1154 79

推荐镜像

更多