Studio 3T:MongoDB SQL探究(35)

发布于2019-04-21 20:21:32

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