写点什么

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

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

关注

评论

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

茅台冰淇淋“逆势”走红,跨界之意却并不在“卖雪糕”

易观分析

茅台

设计模式之禅(一)

青柚1943

设计模式 SOLID 设计原则

Flink 运行架构详解

五分钟学大数据

flink 7月月更

【媳妇当车模频道】汽车字体反爬一键解决,之家之家

梦想橡皮擦

Python 爬虫 7月月更

源码分析Sentry用户行为记录实现过程

南城FE

前端 7月月更 异常监控

有关HashMap必须知道的原理

Java学术趴

7月月更

Reserved instances & Savings Plans

冯亮

云计算 DevOps AWS 成本优化

5年接触近百位老板,身为猎头的我,发现升职的秘密不过4个字

图灵教育

基于vmware16 和 ubuntu20.04, 搭建单节点 kubernetes 1.22.2

琦彦

ubuntu Kubernetes

LeetCode-70. 爬楼梯(java)

bug菌

Leet Code 7月月更

PDF处理还收费?不可能!

Jackpop

设计模式之禅(二)

青柚1943

设计模式 设计原则 策略模式 观察者模式 模板方法模式

怎么在VS Code中配置C/C++开发环境?

Jackpop

Istio1.12:安装和快速入门

琦彦

istio Sidecar 流量管理

Kubectl_好用的命令行工具:oh-my-zsh_技巧和窍门

琦彦

Shell kubectl Oh My Zsh zsh

Android编码规范

沃德

android 程序员 7月月更

云原生(十二) | Kubernetes篇之Kubernetes基础入门

Lansonli

云原生 k8s 7月月更

STM32+ESP8266+MQTT协议连接腾讯物联网开发平台

DS小龙哥

7月月更

JavaScript中为什么“null==0“为false?? “null>=0“为true???

南极一块修炼千年的大冰块

7月月更

Qt|字符串生成二维码功能

中国好公民st

qt 7月月更

Android如何保证service在后台不被kill

沃德

android 7月月更

你读过的最好的 C++ 开源代码是什么?

Jackpop

2022年IAA行业品类发展洞察系列报告·第二期

易观分析

IAA

Idea:Git的常用菜单操作和常用命令

琦彦

IDEA git常用命令 git 学习

数据中台:始于阿里,兴于DaaS

雨果

数据中台 数字化转型 数据共享 DaaS数据即服务

java零基础入门-异常、线程(下)

喵手

Java 7月月更

算法题每日一练---第7天:美丽的2

知心宝贝

算法 前端 后端 7月月更

这才是开发者神器正确的打开方式!

Jackpop

C#入门系列(二十九) -- 预处理命令

陈言必行

7月月更

深入浅出边缘云 | 2. 架构

俞凡

架构 边缘计算 网络 深入浅出边缘云

kubernetes多网卡方案之Multus_CNI部署和基本使用

琦彦

Kubernetes cni 多网卡 multus

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