MongoDB Find方法(第 7 天)

作者 : 慕源网 本文共2293个字,预计阅读时间需要6分钟 发布时间: 2021-11-1 共197人阅读

在阅读本文之前,我强烈建议您阅读本系列的以下前几部分:

在上一篇文章中,我们了解了插入方法。今天,我们将学习MongoDB数据库的查找方法。在关系数据库中,我们使用“Select * From Table_Name”查询从表中获取数据。但是,我们使用 MongoDB 中的“find”方法从集合中检索数据。find 方法包含许多属性和选项,因此我们无法在一篇文章中了解 find 方法。因此,我将这种方法分为两部分。今天,我们学习了find方法的一些基本操作。

Find: find 方法从集合中选择文档并将光标返回到所选文档。

语法: db.Collection_Name.find(query ,projection)。

参数:

Parameter Type 描述
Query Document 指定选择标准。它是可选参数。如果未指定,则返回所有记录。
Projection Document 指定要返回的字段。它是一个可选参数。如果未指定,则返回所有字段。

find 方法通过以下 3 个步骤完成其工作:

  1. 第一个选择记录匹配查询条件。
  2. 根据specific 参数从文档中选择特定字段
  3. 将光标返回到选定和过滤的文档

实际上,find 方法将光标返回到选定的文档。该光标自动在屏幕上显示 20 条记录。我们可以使用它的命令来继续迭代。

首先,我们创建一个集合并将一些数据插入到集合中。然后我们使用 find 方法检索这些记录。

创建一个集合

MongoDB Find方法(第 7 天)

现在向前面的集合中插入一些数据,如下所示:

MongoDB Find方法(第 7 天)

在 Employee_Details 集合中,我们插入 8 条记录(文档)。现在我们使用各种形式的 find 方法检索这些记录。

Find() 方法

find 方法将以非结构化格式显示集合的所有记录。

语法: db.Collection_Name.find()

示例:

MongoDB Find方法(第 7 天)

我们可以看到 find 方法以非结构化的方式返回数据。那是非常难读的。因此,我们可以使用pretty() 方法以结构化的方式显示数据。

Pretty() 方法

Pretty 方法以结构化(格式化)方式显示数据。

语法: db.Collection_Name.find().pretty()

示例:

MongoDB Find方法(第 7 天)

现在前面的输出很容易阅读和理解。

使用条件运算符的查找方法与

关系数据库类似,MongoDB 支持条件选择操作。MongoDB 支持许多条件运算符。一些常用的条件运算符如下:

Operator Syntax
相等 { <Key> : <Value> }
小于 { <Key> : { $lt : <value> } }
大于 { <Key> : { $gt : <Value> } }
小于等于 { <Key> : { $lte : <Value> } }
大于等于 { <Key> : { $gte : <Value> } }
不相等 { <Key> : { $ne : <Value> } }

现在我们为每个条件运算符执行一些查询。

查询1:检索City 等于Delhi 的所有雇员的记录。

输出

MongoDB Find方法(第 7 天)

查询 2:检索员工年龄小于 23 岁的所有员工的记录。

输出

MongoDB Find方法(第 7 天)

查询 3:检索所有雇员工资大于 40000的记录。

输出

MongoDB Find方法(第 7 天)

查询 4:检索所有雇员年龄大于或等于 24 的雇员记录。

输出

MongoDB Find方法(第 7 天)

查询 5:检索雇员工资小于或等于 39000的所有雇员的记录。

输出

MongoDB Find方法(第 7 天)

查询 6:检索雇员所在城市不等于Delhi的所有雇员的记录。带有多个条件运算符的

输出

MongoDB Find方法(第 7 天)

Find 方法

有时,我们必须在一个 find 方法中应用多个条件运算符。MongoDB 为此类需求提供了多种方法。接下来,我们将解释其中的一些方法。

AND 条件

使用 AND 条件,我们可以应用多个条件运算符。结果将是在所有条件都为 True 时进行检索。我们可以通过用’,’分隔它们来传递多个键。然后 MongoDB 将其视为 AND 条件。

语法:db.Collection_Name.find( {Key1:Value1 , Key2:value2,……..Keyn:Valuen })

查询:检索所有雇员所在城市不等于Delhi且工资较大的雇员的记录比 45000.

输出

MongoDB Find方法(第 7 天)

OR 条件

使用 OR 条件,我们可以应用多个条件运算符。当一个或多个条件为 True 时,将检索结果。我们需要将 $or 关键字用于 OR 条件。

语法: db.Collection_Name.find ( { $or:[ { Key1: Value1 }, {Key2:Value2}, ……..{ Key2: Value2} ] } )

查询:检索所有员工年龄所在的记录员工大于 25 或工资大于 45000。

输出

MongoDB Find方法(第 7 天)

In 条件

In 条件类似于关系数据库的 in 条件。当我们想为单个键指定多个值时,In 条件很有用。我们需要将$in关键字用于 In 条件。我们可以使用 OR 条件运算符检索与使用$in关键字检索相同的结果 。

查询:检索雇员年龄等于 23 或 27 岁的所有雇员的记录。

首先,我们使用 OR 条件运算符检索结果。

MongoDB Find方法(第 7 天)

现在我们使用 IN 运算符检索相同的结果。

MongoDB Find方法(第 7 天)

我们可以看到两个查询的输出是相同的。

一起使用 AND 和 OR 运算符

以下示例演示了如何一起使用 AND 和 OR 条件运算符。

查询:检索员工工资大于 50000 且员工年龄等于 23 或 27 的所有员工的记录。

输出:

MongoDB Find方法(第 7 天)

一起使用 AND 和 IN 运算符

以下示例演示了如何一起使用 AND 和 IN 运算符。

查询:检索员工所在城市不等于德里且员工年龄等于 23 或 27 的所有员工的记录。

输出

MongoDB Find方法(第 7 天)

今天,我们通过find方法学习了find方法和条件运算符的使用。在下一篇文章中,我们将了解有关 find 方法的更多信息。


慕源网 » MongoDB Find方法(第 7 天)

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录