MongoDB 查询工具向 MongoDB 数据库发送一个查询,并从该查询返回一个 JSON 格式的结果。像 JSON 数据库和 JSON 断言器这样的 JSON 工具可以作为“输出”添加到 MongoDB 查询工具中,以便显示和/或验证查询结果。
在本章节中:
要求
- 支持 2.6、3.0、3.2、3.4 和 3.6 版本的 MongoDB 。
- 此工具要求 9.5 及以上版本的 SOAtest/Virtualize。
安装指南
可以从 UI 或命令行中安装此工具。
UI 安装指南
- 选择 Parasoft> 首选项。
- 选择 系统属性 并单击 Add JARs。
- 浏览到 mongodbquerytool.jar 文件,然后单击 Open。
- 应用更改并重启 SOAtest/Virtualize。
命令行安装指南
将 mongodbquerytool.jar 文件添加到 localsettings 属性文件中的 system.properties.classpath 属性中。例如:
system.properties.classpath=<path to jar>/mongodbquerytool.jar
使用说明
可以使用 SOAtest 添加测试向导将 MongoDB 查询工具添加为独立的工具。也可以将它们添加为 Virtualize 提供操作的工具。运行工具之前,必须配置 MongoDB 连接,以及要运行的查询。一旦 MongoDB 查询工具被添加到套件中,则可以将任何 JSON 工具添加为输出。
配置
可以配置以下设置。
连接设置
主机 | 指定要查询的 MongoDB 服务器的主机和端口的以逗号分隔的列表。如果为空,则使用默认值。默认为 例如:
|
---|---|
使用 SSL | 指定在连接到 MongoDB 服务器时是否应该使用 SSL。如果为空,则使用默认值。默认为 false 。 |
复制集读首选项 | 指定工具将操作读入复制集成员的首选项。关于复制集读首选项的其他信息,请查阅 MongoDB documentation 。默认为 |
身份验证设置
身份验证机制 | 指定用于连接 MongoDB 服务器的身份验证机制。接收使用以下值:
|
---|---|
用户名 | 指定要对使用身份验证的 MongoDB 数据库进行身份验证的用户名。 |
密码 | 指定要对使用身份验证的 MongoDB 数据库进行身份验证的密码。 |
身份验证数据库 | 指定要使用的身份验证数据库。如果为空,则使用默认值。当身份验证设置为 LDAP 时将忽略此设置。默认为 admin 。 |
查询设置
数据库 | 指定要查询的 MongoDB 数据库的名称。 |
---|---|
集合 | 指定要查询的 MongoDB 集合的名称。 |
查询 | 以 MongoDB 扩展的 JSON 语言的严格模式指定查询 (关于更多详情,请查阅 MongoDB Documentation )。如果为空,则使用默认值。默认为 all documents 。 |
投影 | 以 MongoDB 扩展的 JSON 语言的严格模式指定投影 (关于更多详情,请查阅 MongoDB Documentation )。如果为空,则使用默认值。默认为 all fields 。 |
示例查询 1
以下查询返回产品集合中的所有项。
示例查询 2
以下查询返回产品集合中产品 id 为 101 的所有字段。
示例查询 3
以下查询只返回产品集合中产品 id 为 101 的 sku 字段。
使用输出工具查看和处理查询结果
任何操作 JSON 的工具都可作为输出添加到 MongoDB 查询工具。例如,可能希望添加 JSON 数据库,以查看结果和/或 JSON 断言器,从而验证结果。若要添加输出:
- 右键单击合适的 MongoDB Query Tool 节点,然后选择 Add Output。
- 在 Add Output 对话框中,在右侧窗格中选择一个 JSON 工具,然后单击 Finish。
执行 MongoDB 查询工具之后,输出将传递到链接的工具。然后可以根据需求执行工具配置(比如,指定断言、提取信息,等等)。
更改日志
对该扩展进行了以下更新。
1.1
增加了对多台主机的支持。
指定主机和/或端口连接设置的脚本在升级该工具后将不会持久。
主机和端口连接设置已合并到单个字段中。如果使用脚本来定义您的主机和/或端口连接,那么在升级到此版本后,您将需要添加一个新脚本以在 Hosts 字段中配置这些设置。有关其他信息,请查阅 Connection Settings 。
- 增加了支持输出结果作为流量。
- 增加了对复制集读首选项配置的支持。
1.0
- 最初版本
第三方内容
此扩展包括来自第三方的资源项,如下所示。
- mongo-java-driver(Apache License 2.0)
更多的许可详情可在该插件的 licenses 文件夹中获得。