Studio 3T:MongoDB SQL 探究

阅读数:896 2018 年 6 月 14 日

话题:JavaPythonC#Node.js语言 & 开发

对于用户而言,能够直接查询和研究数据长期以来一直是专业数据库的标志。借助供应商提供的工具和对 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