5.7.2 条件查询

5.7.2 条件查询

find()函数是可以带参数查询的,第一个参数是查询条件,该查询条件满足BSON格式。图5-15表示查询user集合中name字段值为mongo的文档,相当于SQL的select*from user where name=mongo。

图5-15 简单条件查询

与SQL的where子句类似,find()的查询条件可以由与或非等逻辑运算得到。表5-3列举了常用的查询方式。

表5-3 find()常见的查询条件

查询操作是数据库中使用频率最高的操作,更多查询相关可以参见官网文档:https://mongodb.net.cn/manual/reference/operator/query/。

另外,由于find()函数返回的游标对象中如果包含大量的数据,会带来较大的开销,MongoDB Shell为了避免大的开销,提供了一个findOne()函数,这个函数和find()一样,不同的是它只返回游标中的第一条数据,或者返回null,即空数据。

如果需要限制结果集的长度,也可以用limit方法。这是强烈推荐解决性能问题的方法,可以用于减少网络传输。例如:db.user.find().limit(3);表示只返回3个文档。