提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|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 用户及其权限。
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@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
Navicat for MariaDB 为 MariaDB 数据库管理提供了一个原生环境。你可以直观地设计数据库结构、运行 SQL 查询和脚本、管理 MariaDB 用户及其权限。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢