写点什么

Studio 3T:MongoDB SQL 探究

  • 2018-06-14
  • 本文字数:983 字

    阅读完需:约 3 分钟

对于用户而言,能够直接查询和研究数据长期以来一直是专业数据库的标志。借助供应商提供的工具和对 SQL 的基本了解,用户可以查询任何类型的数据,而不必针对特定的产品参加严格的培训。我们所说的 NoSQL 数据库是其中一个特例。由于每一种 NoSQL 数据库都有自己专门的语法,所以培训成本会急剧上升。

Studio 3T 旨在通过提供一个基于SQL 的用户界面解决这个问题。其用户界面看上去和SQL Server Management Studio 或PosgreSQL 的pgAdmin 非常像。它使用了标准的三面板布局,集合列表在左侧,SQL 编辑器在右上方,结果窗格在右下方。

和许多基于SQL 的工具一样,你可以直接在Studio 3T 中编辑记录。这可以用在需要手工更正数据的时候,通常,在连接到生产数据库时,用户可以把工具设置成“只读模式”,降低犯错风险。

SQL 转换成 JavaScript(node.JS)、Java、Python 和 C#代码

Studio 3T 有一个独一无二的特性,就是能够把SQL 转换成特定语言的代码。在确认查询有效之后,你就可以切换到“Query Code”页签,看下这段代码在JavaScript(node.JS)、Java、Python 或C#中是什么样子。除了可以作为一款实用的培训工具外,这还可以节省执行冗长的集成测试所需的大量时间。

使用这项特性的开发人员应该充分利用“解释查询”支持。和其他数据库引擎一样,这可以为你提供有关查询预期性能特征的重要信息。

MongoDB 连接

Studio 3T 经常添加新特性,其中,在最近的更新中就增加了在 MongoDB 数据集上执行SQL 风格的内连接和左连接的能力。

这些连接是以MongoDB 的原生查询语言来表示的,使用了$lookup 操作符。这对SQL 实现有些限制。虽然支持多连接,但是每个连接只能引用左边的表。或者换句话说,不支持右连接。类似地,也不能使用全连接。

其他SQL 特性

Studio 3T 的 SQL 支持还包括:

  • GROUP BY、ORDER BY 和聚合函数;
  • Limit 和 Offset(也就是数据分页);
  • 使用 LIKE 时的通配符;
  • 使用 IN 测试一个值是否是一个集合的成员;
  • 使用 BETWEEN 测试一个值是否处于某个范围内;
  • 使用点分隔的名称访问嵌套字段。

最后一项特性让你可以使用标准 OOP 风格的点表示法读取子字段。例如,可以使用“address.zip_code”读取邮政编码。和许多数据库引擎一样,字段名可以放在括号或双引号中。单引号用于字符串常量。

SQL Query 和 Query Code 生成只有 Studio 3T 专业版才提供。

查看英文原文: Studio 3T: SQL Exploration for MongoDB

2018-06-14 09:573056
用户头像

发布了 1008 篇内容, 共 433.1 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

18个PPT,29个提问解答,都在这儿啦!

Apache Flink

大数据 flink 流计算 实时计算

Java 代码的组织机制

michaelliu

Java

工厂模式

Wen Wei

设计模式

docker搭建lamp

刘磐石(刘坤鹏)

vue项目中遇到的依赖及其他问题

靖仙

Vue 大前端 Web

祝贺!两位 Apache Flink PMC 喜提 Apache Member

Apache Flink

大数据 flink 流计算 实时计算

你的文章中为什么会有加粗的文字

小天同学

思考 写作 感悟

初文,大浪淘沙

傅丞 Tony

Iceberg 在基于 Flink 的流式数据入库场景中的应用

Apache Flink

大数据 flink 流计算 实时计算

Flink SQL 的 9 个示例

Apache Flink

大数据 flink 流计算 实时计算

Java 类

michaelliu

Java

技术人员能力养成手记

MavenTalker

个人成长 程序人生 职业规划

转任管理岗位后,还要不要从事编码工作?

MavenTalker

团队管理 程序员 个人成长 职业规划

原创 | OOAD范例:配置类设计

编程道与术

Flink 的经典场景和业务故事有哪些?看看他们就知道了

Apache Flink

大数据 flink 流计算 实时计算

作为程序员,有哪些写作平台值得推荐 ?B站也算吧

邓瑞恒Ryan

学习 创业 写作 知识管理 自我提升

哈希,茫茫人海,我一眼看到了你

dongge

Java 类构造函数的调用顺序

michaelliu

Java

屏幕适配插件:ScreenMatch基本使用和注意事项

Arch

什么是全光架构?光纤KVM和分布式IP KVM系统知多少?

DT极客

聊聊技术人如何与甲方客户打交道

MavenTalker

程序员 程序人生 职业规划

经验可能反而阻碍你的新认知

孙苏勇

思考 读书

关于PHP内存溢出的思考

L

php

LeetCode 120. Triangle

隔壁小王

算法 LeetCode

Flink 消息聚合处理方案

Apache Flink

大数据 flink 流计算 实时计算

原创 | DDD与分层

编程道与术

最佳实践 | Flink Forward 全球会议抢先看!

Apache Flink

大数据 flink AI 流计算 实时计算

Flink State 最佳实践

Apache Flink

大数据 flink AI 流计算 实时计算

我入驻InfoQ平台啦

BlueblueWings

在InfoQ开启写作之旅

张先亮-Hank

人工智能 随笔

PyFlink 社区扶持计划正式上线!

Apache Flink

大数据 flink 流计算 实时计算

Studio 3T:MongoDB SQL探究_Java_Jonathan Allen_InfoQ精选文章