写点什么

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

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

关注

评论

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

架构师训练营 1 期 -- 第十一周总结

曾彪彪

极客大学架构师训练营

智能与影像的强耦合:华为Mate 40系列的视觉探索

脑极体

技巧收藏|10个JavaScript常用数组操作方法

华为云开发者联盟

Java 数组 开发

价值、产业、数据加密,区块链如何助力互联网升级?

CECBC

区块链 互联网

看区块链如何打通信息壁垒,盘活万亿级”积分”市场

CECBC

区块链 信息

打造Django私有化缓存组件django-api-cache

pygodnet

django django-api-cache django缓存 私有化缓存 接口缓存

每周学点TARS——服务自定义命令

TARS基金会

c++ DevOps 后端 TARS

我在阿里巴巴做 Serverless 云研发平台

阿里巴巴云原生

Serverless 容器 开发者 云原生 CloudNative

年轻人想详细了解做了十年Linux跟做了十年Windows的程序员差距有多大吗?听我慢慢道来!

ShenDu_Linux

Linux 程序员 windows

训练营第七周总结

大脸猫

极客大学架构师训练营

HTTP协议概述

落日楼台H

https HTTP 协议 HTTP2.0 HTTP3.0

【得物技术】搜索引擎技术简介

得物技术

搜索引擎 技术 算法 排序 搜索

接口测试怎么进行,如何做好接口测试

测试人生路

软件测试 接口测试

讲述我在阿里六面的经历,幸好我掌握了这份“Java并发编程+面试题库”成功拿到20K的offer

比伯

Java 编程 架构 面试 计算机

架构师训练营第二周框架设计课后练习

Geek_xq

mysql的这些坑你踩过吗?快来看看怎么优化mysql?

比伯

Java 编程 架构 面试 计算机

线程池的优点及其原理,代码实现线程池。简单、明了。

Linux服务器开发

后端 网络编程 线程池 Linux服务器 web服务器

区块链产业下的“非遗”突围战:商业化和手艺人发掘

CECBC

区块链 非遗

一周信创舆情观察(11.23~11.29)

统小信uos

ETV全球熵APP系统开发|ETV全球熵软件开发

系统开发 现成系统

已拿腾讯后台开发岗offer,简单说下自己的面试经历和学习路线

程序员小灰

c++ 后台开发 架构师 TCP/IP Linux服务器开发

架构词典: 复盘

lidaobing

架构 复盘

从战略到战略决策

Alan

战略管理 使命 愿景 战略思考 MVO

只能用分布式锁,也能搞定每秒上千订单的高并发优化?

Java架构师迁哥

「更高更快更稳」,看阿里巴巴如何修炼容器服务「内外功」

阿里巴巴云原生

容器 运维 云原生 双十一 CloudNative

拆解增长黑客之知识篇

懒杨杨

产品 运营 增长

程序员的故事

Philips

敏捷开发 快速开发 原创小说 企业开发 企业应用

《迅雷链精品课》第十课:共识算法理论基础

迅雷链

区块链

我对业务方提出需求的态度

boshi

随笔杂谈 需求落地

LeetCode题解:52. N皇后 II,回溯+哈希表,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

训练营第七周作业

大脸猫

极客大学架构师训练营

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