前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何实现文档检索(上)

如何实现文档检索(上)

作者头像
MongoDB中文社区
发布2020-03-27 16:04:52
1.7K0
发布2020-03-27 16:04:52
举报
文章被收录于专栏:MongoDB中文社区MongoDB中文社区
通过查询执行从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中文社区翻译志愿者,资深程序员。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Mongoing中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档