写点什么

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:573241
用户头像

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

关注

评论

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

滴滴夜莺社区文章有奖征集

滴滴云

最佳实践 奖品 案例分享 滴滴夜莺

webpack | 进阶用法2:代码分割和动态引入的实现方式

梁龙先森

大前端 webpack 28天写作 2月春节不断更

如何基于Spring 事件驱动模型实现业务解耦

技术进阶之路

Java spring 架构

架构训练营大作业(一)

一期一会

静默安装Oracle也没那么恐怖

MySQL从删库到跑路

oracle

Varchar竟然会自动存储成lob类型?

dbaplus社群

产品经理训练营课后作业-第三周-产品思维和产品意识

.nil?

产品经理训练营

「抖音同款播放器」上市:有效解决卡顿、黑屏和模糊

字节跳动技术团队

夕四今晚加班到2点30,而王二还不打算走《打工人的那些事》

谙忆

【LeetCode】子集问题debug模式查看数据变化

Albert

算法 LeetCode 2月春节不断更

驱动力读后感之一

张老蔫

28天写作

产品训练营第三次作业

Geek_79e983

最简单的map,filter,forEach,every,some的使用教学

coolFish(呔呆)

方法 Vue 大前端 数组 js

用最少人力玩转万亿级数据,我用的就是MongoDB

dbaplus社群

科技,亲吻这个特别的春节

脑极体

Java并发包源码学习系列:阻塞队列实现之SynchronousQueue源码解析

Java 编程

Gradle Docker插件将SpringBoot应用程序打包为Docker镜像

wjchenge

Docker SpringBoot 2 Gradle

区块链在数字版权领域的应用发展报告(2020)

CECBC

版权保护

看完字节大佬的算法刷题宝典,我直接手撕了500道算法算法题

程序员 面试 算法

中国为什么加快推进数字人民币

CECBC

数字货币

PanoVideoCall 的 Electron Demo 开源了

拍乐云Pano

html Mac windows Electron js

精美的淘客项目完全开源啦,确定不来围观吗

Silently9527

Vue mybatis springboot uniapp

区块链--另一场改变社会组织方式的工业革命

CECBC

区块链

分页方式,看这一篇就够了。

大伟

分页

作业3

瑾瑾呀

如何基于Spring Aware和InitializingBean接口实现策略模式

技术进阶之路

Java spring 5 Java设计模式

欢迎来到,2021摄像机竞技场

脑极体

架构训练营大作业(二)

一期一会

硬核!八张图搞懂 Flink 端到端精准一次处理语义 Exactly-once(深入原理,建议收藏)

五分钟学大数据

大数据 flink

京东支付SDK重构设计与实现

京东数科风险算法与技术

2021最新「阿里」Java高级工程师面试高频题:JVM+Redis+并发+算法+框架

比伯

Java 编程 架构 面试 计算机

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