提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-09-29 11:45:04.590|阅读 1146 次
概述:SQL查询通常从数据库服务器返回多行数据。关系数据库提供游标,作为迭代每一行结果集的方法。MongoDB的db.collection.find()函数返回一个游标。在MongoDB中,游标本身提供了用于处理单个行的其他功能。在本文中,我们将学习如何在Navicat for MongoDB中使用MongoDB游标。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
Navicat for MariaDB 为 MariaDB 数据库管理提供了一个原生环境。你可以直观地设计数据库结构、运行 SQL 查询和脚本、管理 MariaDB 用户及其权限。
SQL查询通常从数据库服务器返回多行数据。关系数据库提供游标,作为迭代每一行结果集的方法。这是否意味着MongoDB用户不走运?事实证明,MongoDB的db.collection.find()函数返回一个游标。在MongoDB中,游标本身提供了用于处理单个行的其他功能。在本文中,我们将学习如何在Navicat for MongoDB中使用MongoDB游标。
一个简单的迭代示例
通过db.collection.find()函数执行查询将返回指向返回的文档集合的指针,该指针是游标。游标的默认行为是允许对查询结果进行自动迭代。但是,开发人员可以显式浏览游标对象中返回的项目。一种方法是使用forEach()游标方法。
在Navicat中,很容易使用find()方法。例如,您可以将预定义的代码段拖到“查询编辑器”中:

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

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

不同种类的循环
像所有JavaScript对象一样,游标可以存储在变量中以备后用。由于cursor.hasNext()和cursor.next()方法,还完全支持其他JavaScript结构(如while循环)。正如我们在本例中看到的,hasNext()通知循环测试器是否有另一个文档要迭代。next()返回所述文档。
printjson()帮助程序方法是一种方便的方法,它代替了print(tojson())。它基本上按与存储在数据库中相同的方式输出文档,只是将它们表示为JSON而不是BSON(等效的二进制文件)。
更新数据
回想一下db.collection.find()返回一个指向返回的文档集合的指针。这样,文档字段是完全可编辑的。因此,我们可以调用forEach()方法来更新符合指定条件的文档。这是一个用于更新名称等于“Tom Smith”的文档的函数:

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

结论
在今天的文章中,我们了解了db.collection.find()方法返回的游标如何与各种方法一起打包以遍历文档,以打印、修改、删除或转换其内容。感兴趣的朋友可以下载Navicat for MariaDB体验一下哦~
相关内容推荐:
想要购买Navicat for MariaDB正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




在现代软件开发过程中,自动化单元测试是确保代码质量与可靠性的关键环节。尤其对于特定框架(如MFC)的代码,测试复杂度显著增加,常因依赖外部资源或交互操作而难以在静默环境中顺利执行。Parasoft C/C++test作为专业的软件测试工具,致力于帮助开发团队高效实施自动化测试,通过其强大的桩函数功能,能够有效模拟依赖组件的行为,从而实现对复杂逻辑的隔离测试。
本文将为大家介绍如何在MyEclipse中使用XDoclet开发EJB 2 Session Bean,欢迎下载最新版体验!
如果能将 CSV 自动转换为 PDF ,就能快速生成清晰、美观的报表,既节省手动排版时间,又能保持数据的专业呈现。本文将介绍如何使用 Spire.XLS for Java 实现这一过程——从加载 CSV 到输出高质量 PDF,仅需数行代码即可完成。
Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
相关产品
Navicat for MariaDB 为 MariaDB 数据库管理提供了一个原生环境。你可以直观地设计数据库结构、运行 SQL 查询和脚本、管理 MariaDB 用户及其权限。
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站 