查询的基本格式是db.collection.find({条件}),其中条件是可选的,类似于 MySQL 的 WHERE 条件一样。示例如下:
条件组合可以使用 $and、$or 和 $not 来设置组合条件。
例如下面的 users数据集:
查找分数是90或76分的用户:
查找性别不是 male 的用户和查找分数高于80分用户:
其中$eq为相等条件,$lt为小于条件。 条件可以嵌套使用,例如and和and和or 嵌套,表示(a || b) && (c || d),格式如下:
比较操作符在 MongoDB 提供了如下比较操作符,比较操作符的格式为{key: {$op: value}}:
$eq:相等操作符,即 a == b; $gt:大于,即 a > b; $gte:大于等于,即 a >= b; $lt:小于,即 a < b; $lte:小于等于,即 a <= b。 IN 查询in 查询的格式和比较操作符类似,只是对应的值是数组,即
例如,需要查找分数为90,76的用户:
in 查询也可以和其他条件组合,如and 查询:
限制返回结果条数和跳过数据find 方法会将所有匹配条件的数据查找出来,因此对于数据集很大的时候会导致速度很慢且产生大量的 磁盘 I/O,如果确定数据只有1条的时候可以使用 findOne,如果要限制查询条数可以使用 limit或 skip。limit 是查询到指定数量后的结果就返回,而 skip 是跳过前面指定数量的结果。
排序排序使用格式如下:
其中1表示升序,-1表示降序,例如我们需要以分数降序排序:
总结本篇介绍了 MongoDB 的条件查询操作,限制返回条数和排序。可以看到,MongoDB 的操作虽然语法和 SQL 不同,但是都有对应的功能辅助查询,对于查询来说也是十分便捷的。
以上就是详解MongoDB的条件查询和排序的详细内容,更多关于MongoDB的条件查询和排序的资料请关注七叶笔记其它相关文章!