MongoDB 查询文档:db.collection.find() 示例
⚡ 智能摘要
MongoDB 查询文档操作使用 `db.collection.find()` 函数从集合中检索记录。该方法默认返回所有文档,接受字段匹配和 `$gt` 运算符等筛选条件,并使用 `forEach(printjson)` 命令格式化结果。

从 MongoDB 数据库是通过使用 MongoDB 查询。执行查询操作时,还可以使用标准或条件从数据库中检索特定数据。
MongoDB 提供了一个名为 db.collection.find() 函数 用于从 MongoDB 数据库。
在这期间 MongoDB 查询教程中,您将看到如何以各种方式使用此函数来实现文档检索的目的。
db.collection.find() 是什么? MongoDB?
db.collection.find() 方法是从数据库中读取文档的主要方式。 MongoDB 集合。如果不带任何参数调用,它将返回集合中的所有文档。如果传递查询对象,它将仅返回符合给定条件的文档,因此您可以精确检索所需数据。
该方法返回一个游标,它是指向结果集的指针,而不是指向文档本身。通常,您需要遍历该游标来显示结果,通常使用 `forEach(printjson)` 将每个文档以可读的 JSON 格式显示。如果您只需要单个记录, MongoDB 它还提供了 findOne() 函数,该函数返回第一个匹配的文档而不是游标。find() 和 findOne() 函数结合起来,可以涵盖大多数读取操作。 MongoDB 数据库操作,从获取整个集合到按特定字段值进行筛选。
MongoDB 基本查询 Opera系统蒸发散
基础的 MongoDB 查询运算符涵盖简单的操作,例如获取 MongoDB 集合。让我们看一个 db.collection.find 示例来了解如何实现这一点。
我们所有的代码都将在 MongoDB JavaScript 命令 shell。假设我们的 MongoDB 数据库并执行以下命令。

Code 说明:
- Employee 是集合名称 MongoDB 数据库
- 此 MongoDB 查找查询是一个内置函数,用于检索集合中的文档。
如果命令执行成功,将显示以下输出 MongoDB 查找示例
输出:
输出显示集合中存在的所有文档。
我们还可以向查询添加条件,以便能够根据特定条件获取文档。
MongoDB 查询示例 – 1
让我们看几个 MongoDB 查询我们如何实现这一点的示例。
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Code 说明:
- 这里我们想要在集合中查找名字为“Smith”的员工,因此我们输入的过滤条件为 EmployeeName :“Smith”
如果命令执行成功,将显示以下输出
输出:
输出显示仅返回包含员工姓名为“Smith”的文档。
MongoDB 查询示例 – 2
现在在这个 MongoDB 查询教程,让我们看一下另一个使用大于搜索条件的代码示例。当包含此条件时,它实际上会搜索字段值大于指定值的文档。
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Code 说明:
- 这里我们要查找所有 id 大于 2 的员工。$gt 称为查询选择运算符,它的意思就是使用大于表达式。
如果 MongoDB select fields 命令执行成功后,将显示以下输出
输出:
返回员工 ID 大于 2 的所有文档。
MongoDB 询问 Opera职权范围
MongoDB 在 find() 函数的条件中使用查询选择运算符来筛选文档。这些运算符允许您匹配范围、列表和否定,而不仅仅是精确值。下表列出了最常用的运算符:
| Opera器 | 意 | 例如: |
|---|---|---|
| $GT | 比...更棒 | {Employeeid: {$gt: 2}} |
| $lt | Less 比 | {员工编号:{$lt: 5}} |
| $gte | 大于或等于 | {年龄: {$gte: 18}} |
| $LTE | Less 大于或等于 | {年龄: {$lte: 60}} |
| $ne | 不等于 | {status: {$ne: “active”}} |
| $ in | 匹配列表中的任何值 | 部门:{$in:[“人力资源”“IT”]}} |
您还可以结合使用 `$and` 和 `$or` 运算符来构建更精确的查询。选择合适的运算符可以提高查询效率,并仅返回应用程序所需的文档。
如何使用 find() 函数进行投影
默认情况下,find() 函数会返回整个文档,包括所有字段。但通常你只需要几个字段,例如名称或 ID。 MongoDB 您可以使用投影来控制此行为,投影是传递给 find() 的第二个参数,它列出了要包含或排除的字段。
要仅包含特定字段,请在投影对象中将其值设置为 1。以下查询仅返回每个文档的 EmployeeName 字段:
db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);
MongoDB 除非明确排除,否则始终返回 _id 字段。要隐藏它,请将 _id 设置为 0:
db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);
您还可以通过将字段值设置为 0 来排除某些字段,而不是将其包含在内。例如,以下查询将返回除 Employeeid 之外的所有字段:
db.Employee.find({}, {Employeeid: 0}).forEach(printjson);
请注意,除了 `_id` 字段之外,您不能在同一投影中混合使用包含和排除字段。使用投影可以减少从服务器传输的数据量,从而加快查询速度并使响应更易于阅读,尤其是在处理大型文档时。



