MongoDB 条件查询和排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 条件查询和排序相关的知识,希望对你有一定的参考价值。

参考技术A 查询的基本格式是 db.collection.find(条件) ,其中条件是可选的,类似于 mysql 的 WHERE 条件一样。示例如下:

可以使用 $and 、 $or 和 $not 来设置组合条件。

例如下面的 users 数据集:

我们查找 nickname 是岛上码农和且性别是 male :

查找分数是90或76分的用户:

查找性别不是 male 的用户和查找分数高于80分用户:

其中 $eq 为相等条件, $lt 为小于条件。
条件可以嵌套使用,例如 or 嵌套,表示 (a || b) && (c || d) ,格式如下:

在 MongoDB 提供了如下比较操作符,比较操作符的格式为 key: $op: value :

in 查询的格式和比较操作符类似,只是对应的值是数组,即

例如,需要查找分数为90,76的用户:

in 查询也可以和其他条件组合,如and 查询:

find 方法会将所有匹配条件的数据查找出来,因此对于数据集很大的时候会导致速度很慢且产生大量的 磁盘 I/O,如果确定数据只有1条的时候可以使用 findOne ,如果要限制查询条数可以使用 limit 或 skip 。 limit 是查询到指定数量后的结果就返回,而 skip 是跳过前面指定数量的结果。

排序使用格式如下:

其中1表示升序,-1表示降序,例如我们需要以分数降序排序:

本篇介绍了 MongoDB 的条件查询操作,限制返回条数和排序。可以看到,MongoDB 的操作虽然语法和 SQL 不同,但是都有对应的功能辅助查询,对于查询来说也是十分便捷的。

以上是关于MongoDB 条件查询和排序的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB:使用 $or 运算符按条件顺序查询时如何对文档进行排序?

MongoDB——文档操作(查询文档)

MongoDB 轻松搞定统计 —— 聚合函数使用

MongoDB--》文档查询的详细具体操作

【mongoDB】mongoDB根据时间条件查询

python mongoDB 模糊查询(多条件)