使用find()函数在MongoDB查找多个条件的方法介绍

643 阅读4分钟

在MongoDB数据库中工作时,我们倾向于更多地利用 "find "函数,将集合中的数据显示为一个文档。find()函数可以用不同的可能方式来利用。你可以通过指定列名为1或0,在你的输出中显示或限制显示特定数量的列。同时,我们也可以在MongoDB的find()函数中定义多个条件来限制集合的记录数量。在SQL数据库中,我们试图在WHERE子句中指定条件。但是,在MongoDB中,我们需要使用其他方式。因此,我们决定在本指南中介绍这些方法。现在就开始我们的新文章吧。在深入实施之前,我们必须从Ubuntu 20.04系统登录,并利用Ctrl+Alt+T打开其终端。在打开终端后,在继续前进之前,是时候更新我们的系统了。这些更新对于我们文章的顺利实施是必要的。因此,请尝试以下所示的指示,然后输入当前用户的密码继续。

在询问时按 "Y "确认此操作。按回车键继续。处理结果将显示在你的终端屏幕上。在几秒钟内,你的系统将更新到最新的版本。

更新完成后,我们必须在Ubuntu 20.04的外壳上启动MongoDB外壳。为此,使用 "mongo "关键字命令,就像我们下面做的那样。

MongoDB的终端已经启动,可以使用了。让我们在MongoDB的shell区域通过 "show dbs "指令来显示我们想在其中工作的可用数据库列表。它将显示可用的全部数据库。首先,其中三个是内置的,用于存储配置数据。我们将在本教程中使用用户定义的 "test "数据库。要使用 "test "数据库,请尝试使用 "use "指令,数据库名称为 "test"。按 "Enter "键来执行这个指令。

为了尝试MongoDB的find()函数中的多个条件,我们必须在 "test "数据库中拥有一些集合,并在集合中拥有足够的记录。现在,我们的数据库是空的。因此,我们需要从头开始创建一个新的集合。我们需要在 "db "指令中尝试使用 "createCollection "函数,然后在括号中输入要创建的新集合的名称。我们将这个集合命名为 "Data"。查询成功了,根据 "ok. "状态,集合也成功生成了。1 "的状态。

现在,我们的数据库中有一个新的、空的 "Data "集合。我们需要将一些值作为MongoDB文档放入其中。为了在MongoDB集合内插入数据,我们需要在集合名称前尝试使用insert()函数进行db插入。因此,我们一直在使用相同的 "db "指令与我们新创建的集合名称,即Data,以及在其中取值的insert()函数。我们一直在为每个文档记录添加不同数量的列。这些列的名称是。"_id","Name","City","Age","salary "和 "job"。正如我们所提到的,不是每条记录都包含所有的列。但是,每条记录都必须包含其中的"_id"、"姓名"、"城市 "和 "年龄 "列。如图所示,通过这个insert()函数命令,总共增加了15条记录。

在尝试数据集合的条件之前,我们将简单地使用 "find "函数在屏幕上一次性获取其所有记录。因此,我们已经在MongoDB的 "db "命令中尝试了find()函数。这个命令一直在显示所有15条记录。

正如我们之前提到的,我们可以通过使用列名的选项1和0来限制MongoDB shell中显示的列数。所以,我们也将尝试这样做。我们通过在find()函数中把"_id "的列值设置为0,来限制列"_id "在MongoDB shell中的显示。它显示了所有的列,除了"_id"。

现在让我们使用find()函数中的条件。假设你想显示数据集合中唯一的城市为 "巴黎 "的记录,为此,你需要指定"$or "变量,并在其[]括号内指定列名,其值为 "巴黎",正如我们在下面的命令中所做的那样。到目前为止,总共找到了2条文件记录。

我们也可以在find()指令中指定要显示的列名,就像我们到目前为止在所示指令中所做的那样。总共找到了3条记录。

让我们使用find()函数中的"$or "变量对同一列使用1个以上的条件。因此,我们一直在搜索包含 "工作 "列值为 "医生"、"工程师 "和 "商店管理员 "的记录。我们还指定了要显示的列。它总共显示了3条记录。

除了列值之外,你也可以使用比较运算符。我们在find()函数中使用了小于 "lt "运算符,只显示ID小于6的记录,共显示了5条记录。

就像这样,我们在find函数中对 "salary "列尝试使用大于比较运算符,并得到了3条记录的回报。

总结

这篇文章是最好的帮助,告诉你如何使用find()函数与多个条件来显示MongoDB中的集合记录。我们试图在我们的插图中涵盖最多内容,以使你了解使用find()指令是多么容易的事情。我们已经尝试用列值和比较运算符来限制记录的数量或在外壳上显示特定的文档记录,即小于、大于运算符。