彩票走势图

Navicat使用教程:在MongoDB中使用游标

翻译|使用教程|编辑:莫成敏|2019-09-29 11:45:04.590|阅读 1055 次

概述:SQL查询通常从数据库服务器返回多行数据。关系数据库提供游标,作为迭代每一行结果集的方法。MongoDB的db.collection.find()函数返回一个游标。在MongoDB中,游标本身提供了用于处理单个行的其他功能。在本文中,我们将学习如何在Navicat for MongoDB中使用MongoDB游标。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Navicat for MariaDB 为 MariaDB 数据库管理提供了一个原生环境。你可以直观地设计数据库结构、运行 SQL 查询和脚本、管理 MariaDB 用户及其权限。

点击下载Navicat for MariaDB正式版

SQL查询通常从数据库服务器返回多行数据。关系数据库提供游标,作为迭代每一行结果集的方法。这是否意味着MongoDB用户不走运?事实证明,MongoDB的db.collection.find()函数返回一个游标。在MongoDB中,游标本身提供了用于处理单个行的其他功能。在本文中,我们将学习如何在Navicat for MongoDB中使用MongoDB游标。

一个简单的迭代示例

通过db.collection.find()函数执行查询将返回指向返回的文档集合的指针,该指针是游标。游标的默认行为是允许对查询结果进行自动迭代。但是,开发人员可以显式浏览游标对象中返回的项目。一种方法是使用forEach()游标方法。

在Navicat中,很容易使用find()方法。例如,您可以将预定义的代码段拖到“查询编辑器”中:

在MongoDB中使用游标

或者,您可以使用“查找生成器”。只需选择“集合”或“视图”即可获取所有文档:

在MongoDB中使用游标

从这里,您可以将forEach()直接链接到结果光标。在以下示例中,我们集合中的三个文档被打印到控制台。您可以在“打印输出”选项卡中查看输出:

在MongoDB中使用游标

不同种类的循环

像所有JavaScript对象一样,游标可以存储在变量中以备后用。由于cursor.hasNext()和cursor.next()方法,还完全支持其他JavaScript结构(如while循环)。正如我们在本例中看到的,hasNext()通知循环测试器是否有另一个文档要迭代。next()返回所述文档。

printjson()帮助程序方法是一种方便的方法,它代替了print(tojson())。它基本上按与存储在数据库中相同的方式输出文档,只是将它们表示为JSON而不是BSON(等效的二进制文件)。

更新数据

回想一下db.collection.find()返回一个指向返回的文档集合的指针。这样,文档字段是完全可编辑的。因此,我们可以调用forEach()方法来更新符合指定条件的文档。这是一个用于更新名称等于“Tom Smith”的文档的函数:

在MongoDB中使用游标

在我们的示例中,只有一个匹配的文档,但是从理论上讲,可以有很多。

数据转换

一种数据转换类型是简化数据集的结构,以使其更易于使用。为此,我们可以使用map()函数。本示例将split()函数应用于名称字段,以将其分解为它的第一个和最后一个组成部分。然后,reverse()和join()方法将“Tom Smithers”转换为“ Smithers,Tom”:

在MongoDB中使用游标

结论

在今天的文章中,我们了解了db.collection.find()方法返回的游标如何与各种方法一起打包以遍历文档,以打印、修改、删除或转换其内容。感兴趣的朋友可以下载Navicat for MariaDB体验一下哦~

相关内容推荐:

Navicat系列教程>>>


想要购买Navicat for MariaDB正版授权,或了解更多产品信息请点击

Zend-Studio-640×220.png



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP