MongoDB Tool 向 MongoDB 数据库发送查询,并从该查询返回一个 JSON 格式的结果。像 JSON 数据库和 JSON 断言器这样的 JSON 工具可以作为“输出”添加到 MongoDB Tool 中,以便显示和/或验证查询结果。

章节目录:

要求

  • 支持以下 MongoDB 版本:
    • 2.6
    • 3.0
    • 3.2
    • 3.4
    • 3.6
    • 4.0
    • 4.2
    • 4.4
  • 此工具要求 2020.1 及以上版本的 SOAtest/Virtualize。

安装

可以从 UI 或命令行中安装此工具。

UI 安装

  1. 选择 Parasoft> 首选项
  2. 选择系统属性并点击添加 JARs
  3. 浏览到 com.parasoft.soavirt.tool.mongodbtool.jar 文件并点击打开
  4. 应用更改并重启 SOAtest/Virtualize。

命令行安装

将 com.parasoft.soavirt.tool.mongodbtool.jar 文件添加到设置属性文件中的 system.properties.classpath 属性。例如:

system.properties.classpath=<path to jar>/com.parasoft.soavirt.tool.mongodbtool.jar

使用说明

可以使用 SOAtest 添加测试向导将 MongoDB 工具添加为独立的工具。也可以将它们添加为 Virtualize 提供操作的工具。运行工具之前,必须配置 MongoDB 连接,以及要运行的查询。一旦 MongoDB 工具被添加到套件中,则可以将任何 JSON 工具添加为输出。

配置

您可以在工具设置选项卡输入选项卡中配置以下设置。

工具设置选项卡

连接设置

主机

指定要查询的 MongoDB 服务器的主机和端口的以逗号分隔的列表。如果为空,则使用默认值。默认为 localhost:27017

示例:

host1:27017,host2:27018,host3:27019

使用 SSL指定在连接到 MongoDB 服务器时是否应该使用 SSL。如果为空,则使用默认值。默认为 false
读取首选项

指定工具向副本集成员读取操作的首选项。关于复制集读首选项的其他信息,请参阅 MongoDB 文档默认为 primary。

身份验证设置

认证机制

指定用于连接 MongoDB 服务器的身份验证机制。接收使用以下值:

:如果要求身份验证机制,则使用该值。

服务器定义:若要使用 mongoDB 服务器(SCRAM-SHA-1 或 MONGODB-CR)上配置的默认身份验证方法,可以使用此设置。

LDAP:使用此设置以使用 LDAP 服务(如,Active Directory 或 OpenLDAP)进行身份验证。

用户名指定要对使用身份验证的 MongoDB 数据库进行身份验证的用户名。
密码指定要对使用身份验证的 MongoDB 数据库进行身份验证的密码。
身份验证数据库指定要使用的身份验证数据库。如果为空,则使用默认值。当身份验证设置为 LDAP 时将忽略此设置。默认为 admin

查询设置

数据库指定要查询的 MongoDB 数据库的名称
集合指定要查询的 MongoDB 集合的名称。
查询以 MongoDB 扩展的 JSON 语言的严格模式指定查询(详情请参阅 MongoDB 文档)。如果为空,则使用默认值。默认为所有文件
映射以 MongoDB 扩展的 JSON 语言的严格模式指定投影(详情请参阅 MongoDB 文档)。如果为空,则使用默认值。默认为所有字段

更新设置

Operation

指定文档处理操作。可选项包括:

  • find:输入以查找集合中与查询匹配的文档,并返回投影字段。
  • insert:输入以从输入选项卡结果中插入新文档,并返回插入的文档。
  • update:输入以使用输入选项卡结果中的文档更新与查询匹配的集合中的一个或多个文档,然后返回有多少文档与查询匹配以及有多少文档被修改的计数。与下文所述的 Upsert 和 Multi 设置一起使用。
  • delete:输入以从集合中删除与查询匹配的文档,并返回删除数量的计数。与下文所述的 Multi 设置一起使用。

如果为空,则使用默认值。默认为 Find

Upsert

仅适用于上述 Operation 设置为 update 的情况。输入 True,当没有与查询匹配的文档时,输入选项卡结果中插入新文档。设置为 False 时,只会更新现有文档,在没有文档匹配查询时不会执行任何操作。如果为空,则使用默认值。默认为 False

Multi

仅适用于上述 Operation 设置为 updatedelete 的情况。输入 True 以更新或删除与查询匹配的所有文件。设置为 False 时,将只更新或删除与查询匹配的第一个文档。如果为空,则使用默认值。默认为 True

输入选项卡

MongoDB Tool 使用此选项卡上的 JSON 输入进行 insertupdate 操作。针对 finddelete 操作,此处输入的内容将被忽略。有关这些操作的更多信息,请参阅更新设置

针对 insert 操作,该选项卡上的输入代表要插入 MongoDB 集合的新文档。针对 update 操作,该选项卡上的输入表示使用 MongoDB 更新运算符(如 $set$inc)的命令。MongoDB 工具可以链入其他工具的 JSON 输出,将该 JSON 输出用作自己的输入(例如,从 REST API 调用的响应中插入新文档)。

示例查询 1

以下查询返回产品集合中的所有项。

示例查询 2

以下查询返回产品集合中产品 id 为 101 的所有字段。

示例查询 3

以下查询只返回产品集合中产品 id 为 101 的 sku 字段。

使用输出工具查看和处理查询结果

任何使用 JSON 的工具都可作为输出添加到 MongoDB Tool。例如,可能希望添加 JSON 数据库,以查看结果和/或 JSON 断言器,从而验证结果。若要添加输出:

  1. 右键点击合适的 MongoDB Tool 节点,选择添加输出
  2. 在添加输出对话框中,在右侧窗格中选择一个 JSON 工具,然后点击完成

执行 MongoDB 工具之后,输出将传递到链接的工具。然后可以根据需求执行工具配置(比如,指定断言、提取物,等等)。

更改日志

对该扩展进行了以下更新。

1.3

新增插入、更新和删除 MongoDB 文档的功能。

1.2

已添加对 MongoDB 4.0、4.2 和 4.4 的支持。

1.1

  • 增加了对多台主机的支持。 

    升级工具后,指定主机和/或端口连接设置的脚本将不会保留。

    主机和端口连接设置已合并到单个字段中。如果使用脚本来定义您的主机和/或端口连接,那么在升级到此版本后,您将需要添加一个新脚本以在 Hosts 字段中配置这些设置。更多信息,请参阅Connection Settings

  • 增加了支持输出结果作为通讯报文。
  • 增加了对复制集读首选项配置的支持。

1.0

  • 最初版本。

第三方内容

此扩展包括来自第三方的资源项,如下所示。

更多许可证详情可在该插件的 licenses 文件夹中获得。

  • No labels