如何实现文档检索(上)

2020-03-27 16:04:52 浏览数 (1)

通过查询执行从MongoDB数据库中获取或获取数据的方法。在执行查询操作时,可以使用标准查询,或组合条件从数据库中检索符合条件的特定数据。

MongoDB提供了一个名为db.collection.find()的函数,该函数用于从MongoDB数据库中检索文档。

本次,我们将学习实现文档检索的部分内容,剩余部分敬请期待下期分享。

  • 使用find()查询MongoDB中的文档
  • MongoDB游标是什么
  • 使用Sort()和Limit()排序查询MongoDB 实例
  • MongoDB Count()函数和Remove()函数
  • 使用 Update()更新MongoDB文档

使用find()查询MongoDB中的文档

基本查询操作

基本查询操作包括一些简单的操作,比如获取MongoDB集合中的所有文档。我们来看一个如何实现例子。

我们所有的代码都将在MongoDB JavaScript命令窗口中运行。我们在MongoDB数据库中有一个“ Employee”的集合,我们可以执行下面的命令。

代码说明:

1. Employee 是MongoDB数据库中的集合名称

2. find命令是一个内置函数,用于检索集合中的文档。

如果命令执行成功,将显示以下输出结果:

输出显示集合中存在的所有文档。

我们还可以向查询中添加条件,以便我们可以根据特定条件获取文档。

1 例子1

让我们看一些如何实现此目的的示例。

代码语言:javascript复制
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);

代码说明:

1. 我们要在集合中查找名称为“ Smith”的Employee,因此我们将过滤条件输入为EmployeeName:“ Smith”

命令执行成功,将显示以下输出结果:

结果显示仅返回包含Employee name 为“ Smith”的文档。

1 例子2

现在,让我们看另一个使用大于搜索条件的代码示例。当包含此条件时,它实际上搜索那些字段值大于指定值的文档。

代码语言:javascript复制
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);

说明:

我们要查找ID大于2的所有Employee。 $gt为查询选择运算符,意思是使用大于号表达式。

如果命令执行成功,将显示以下输出结果:

返回所有员工ID大于2的文档。

源地址:

https://www.guru99.com/mongodb-query-document-using-find.html

MongoDB中的游标是什么?

当使用db.collection.find()函数在集合中搜索文档时,结果将返回指向文档集合的指针,该指针称为游标。

默认情况下,返回查询结果时,游标将自动进行迭代。当然可以一个接一个明确展示游标中返回的结果目录。下面的例子,在我们的集合中有3个文档,光标对象将指向第一个文档,然后遍历该集合的所有文档。

下面的例子,告诉我们如何完成此操作。

代码语言:javascript复制
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});
while(myEmployee.hasNext())
{
print(tojson(myEmployee.next()));
}

代码说明:

1. 首先,我们获取查询的结果集,该结果集查找ID大于2的Employee并将其赋值给JavaScript变量“ myEmployee”

2. 接下来,我们使用while循环遍历作为查询一部分返回的所有文档。

3. 最后,对于每个文档,我们以JSON格式输出该文档的详细信息。

如果命令执行成功,将显示以下输出结果:

源地址:

https://www.guru99.com/mongodb-cursor.html

译者:徐扬

MongoDB中文社区翻译志愿者,资深程序员。

0 人点赞