写点什么

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

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

关注

评论

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

带你认识大模型训练关键算法:分布式训练Allreduce算法

华为云开发者联盟

分布式训练 Allreduce算法 集合通信 分布式通信算法 大模型训练

写给想做程序员的半吊子应届毕业生们

北游学Java

Java Python 求职 秋招

我的树莓派居然偷偷的学会了日语

IT蜗壳-Tango

IT蜗壳教学 6月日更

fil云算力系统开发具体流程丨fil云算力开发源码成品

系统开发咨询1357O98O718

华为云携手马栏山文创园助力湖南广电荣获国家广电总局多项大奖

华为云开发者联盟

AI 5G 视频 华为云 马栏山

🏆未来可期,WebRTC成为实时通讯方案的行业标准

码界西柚

音视频 WebRTC 实时通信 6月日更

一文回顾 Java 入门知识(上)

逆锋起笔

Java 后端 javase

Tapdata 实时数据融合平台解决方案(五):落地

tapdata

大数据

网络攻防学习笔记 Day33

穿过生命散发芬芳

网络攻防 6月日更

Tapdata 实时数据融合平台解决方案(一):现代企业数据架构及痛点

tapdata

mongodb

从零开始学习3D可视化之控制对象(1)

ThingJS数字孪生引擎

物联网 可视化 3D 3D可视化 数字孪生

Tapdata 实时数据融合平台解决方案(四):技术选型

tapdata

大数据

毕业设计So Easy:珠穆朗玛FM音频电台APP

不脱发的程序猿

android 软件开发 APP开发 毕业设计 移动应用开发

架构实战营 - 模块 5- 作业

carl

国内首篇云厂商 Serverless 论文入选全球顶会:突发流量下,如何加速容器启动?

Serverless Devs

Serverless 容器 云原生

【译】JavaScript 代码整洁之道-异常处理篇

KooFE

JavaScript 大前端 异常处理 6月日更 整洁代码

🔎【Java 源码探索】深入浅出的分析HashMap(JDK7)

码界西柚

Java hashmap 6月日更 JDK7

智能炒币机器人系统开发案例解析,智能炒币机器人源码设计

系统开发咨询1357O98O718

架构实战营模块五作业

竹林七贤

【LeetCode】你能在你最喜欢的那天吃到你最喜欢的糖果吗?Java题解

Albert

算法 LeetCode 6月日更

奇亚Chia挖矿系统开发方案丨奇亚Chia挖矿源码功能

系统开发咨询1357O98O718

Tapdata 实时数据融合平台解决方案(三):数据中台的技术需求

tapdata

oracle mongodb

云上创新,阿里云视频云分享全场景音视频服务背后的场景探索与技术实践

阿里云CloudImagine

阿里云 音视频 在线教育 视频会议 直播技术

TCP协议

IT视界

TCP 传输协议 网络通信

webRTC实现音视频通话与屏幕共享

侠客行

WebRTC 屏幕共享 iOS屏幕共享 web屏幕共享

6月2日,讲一个鸿蒙的故事

这不科技

华为 鸿蒙

Tapdata 实时数据融合平台解决方案(二):理解数据中台

tapdata

oracle mongodb

一封MySQL之父Monty的回信,开启彭立勋的数据库之路

华为云开发者联盟

MySQL 数据库 opengauss GaussDB 华为云数据库

我把 Spring Boot 项目从 18.18M 瘦身到 0.18M,部署起来真省事!

xcbeyond

微服务 springboot 6月日更

面向对象的Python编程,你需要知道这些!

华为云开发者联盟

Python 面向对象 oop 面向对象编程

AT智能量化炒币机器人系统开发详解案例

系统开发咨询1357O98O718

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