MongoDB Tool は、MongoDB データベースにクエリーを送り、クエリーからの JSON 形式の結果を返します。JSON Data Bank やJSON Assertor などの JSON ツールを「出力」として MongoDB Tool に追加して、クエリーの結果を表示したり検証したりすることができます。

このセクションの内容:

要件

  • 以下のバージョンの MongoDB がサポートされています。
    • 2.6
    • 3.0
    • 3.2
    • 3.4
    • 3.6
    • 4.0
    • 4.2
    • 4.4
  • このツールは、SOAtest/Virtualize バージョン 2020.1 以降を必要とします。

インストール

このツールは UI またはコマンドラインからインストールすることができます。

UI からのインストール

  1. [Parasoft] > [設定] を選択します。
  2. [システムプロパティ] ページで[JAR の追加] をクリックします。
  3. com.parasoft.soavirt.tool.mongodbtool.jar ファイルを参照して [Open] をクリックします。
  4. 変更を適用して SOAtest/Virtualize を再起動します。

コマンドラインからのインストール

設定プロパティ ファイルで、system.properties.classpath プロパティに com.parasoft.soavirt.tool.mongodbtool.jar ファイルを追加します。例:

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

使用方法

MongoDB Tool は、SOAtest の [テストの追加] ツールからスタンドアロンツールとして追加できます。また、Virtualize のセットアップ アクション ツールとして追加することも可能です。MongoDB Query Tool を実行するには、MongoDB の接続設定と、実行するクエリーの設定が必要です。MongoDB Tool をテストスイートに追加したら、出力に任意の JSON ツールを追加できます。

設定

[ツール設定] タブおよび [入力] タブでは以下を設定できます。

[ツール設定] タブ

接続の設定

ホスト

照会する MongoDB サーバーのホストおよびポートをカンマ区切りのリストで指定します。空の場合、デフォルト値が使用されます。デフォルト値は localhost:27017 です。

例:

host1:27017,host2:27018,host3:27019

SSL を使用MongoDB サーバーに接続するときに SSL を使用するかどうかを指定します。指定しない場合、デフォルト値を使用します。デフォルト値は false です。
Read Preference

レプリカ セットのどのメンバーに読み取り操作を送信するかを指定します。読み取り設定オプションの詳細については MongoDB のドキュメントを参照してください。デフォルト値は primary です。

認証の設定

Authentication Mechanism

MongoDB サーバーへの接続に使用する認証メカニズムを指定します。次の値を設定できます。

none: 認証メカニズムが必要ない場合、この値を使用します。

server-defined: mongoDB サーバーで設定されたデフォルトの認証メソッド (SCRAM-SHA-1 または MONGODB-CR) を使用する場合、この値を指定します。

LDAP: Active Directory や OpenLDAP などの LDAP サービスを使用して認証を行う場合、この設定を使用します。

ユーザー名認証を使用する MongoDB データベースで認証に使用するユーザー名を指定します。
パスワード認証を使用する MongoDB データベースで認証に使用するパスワードを指定します。
認証データベース使用する認証データベースを指定します。指定しない場合、デフォルト値を使用します。認証メカニズムに LDAP が指定されている場合、この設定は無視されます。デフォルト値は admin です。

クエリーの設定

データベース照会するMongoDB の名前を指定します。
コレクション照会する MongoDB コレクションの名前を指定します。
クエリーMongoDB Extended JSON 言語の strict モードでクエリーを指定します (詳細については MongoDB Documentation を参照)。空の場合、デフォルト値が使用されます。デフォルト値は all documents です。
プロジェクションMongoDB Extended JSON 言語の strict モードでプロジェクションを指定し ます (詳細については MongoDB Documentation を参照)。指定しない場合、デフォルト値を使用します。デフォルト値は all fields です。

更新の設定

操作

ドキュメント処理操作を指定します。オプション:

  • find: コレクション内でクエリーに一致するドキュメントを検索し、プロジェクション フィールドを返す場合に指定します。
  • insert: [入力] タブの結果から新規ドキュメントを挿入し、挿入されたドキュメントを返す場合に指定します。
  • update: コレクション内のクエリーに一致する 1 つまたそれ以上のドキュメントを [入力] タブの結果で更新し、クエリーに一致した件数と更新された件数を返す場合に指定します。下で説明する Upsert および Multi 設定と組み合わせて動作します。
  • delete: コレクション内のクエリーに一致するドキュメントを削除し、削除された件数を返す場合に指定します。下で説明する Multi 設定と組み合わせて動作します。

空の場合、デフォルト値が使用されます。デフォルト値は Find です。

Upsert

上の操作設定に update が指定されている場合にだけ適用されます。クエリーに一致するドキュメントがなかった場合に [入力] タブの結果から新しいドキュメントを挿入する場合は True を指定します。False を指定すると、既存のドキュメントに対する更新だけが行われ、クエリーに一致するドキュメントがなかった場合にアクションは実行されません。空の場合、デフォルト値が使用されます。デフォルト値は False です。

Multi

上の操作設定に update または delete が指定されている場合にだけ適用されます。True を指定すると、クエリーに一致するすべてのドキュメントが更新または削除されます。False を指定すると、クエリーに一致する最初のドキュメントだけが更新または削除されます。空の場合、デフォルト値が使用されます。デフォルト値は True です。

[入力] タブ

insert および update 操作では、MongoDB Tool はこのタブに入力された JSON を使用します。find および delete 操作では、ここに入力された値は無視されます。これらの操作をの詳細については、「更新の設定」を参照してください。

insert 操作の場合、このタブの入力は、MongoDB のコレクションに挿入される新規ドキュメントを表します。update 操作の場合、このタブの入力は、$set$inc などの MongoDB の更新演算子を含むコマンドを表します。他のツールの JSON 出力に MongoDB Tool を連結することで、JSON 出力を MongoDB Tool ツールの入力として使用することができます (たとえば、REST API 呼び出しのレスポンスから新規ドキュメントを挿入する場合など)。

サンプル クエリー 1

以下のクエリーは、products コレクションのすべての項目を返します。

サンプル クエリー 2

以下のクエリーは、products コレクションから product id 101 のすべてのフィールドを返します。

サンプル クエリー 3

以下のクエリーは、products コレクションから product id 101 の sku フィールドだけを返します。

クエリー結果を参照/処理するための出力ツールの使用

JSON を操作するツールであれば、MongoDB Tool に出力として追加することができます。たとえば、JSON Data Bank を追加して結果を参照したり、JSON Assertor を追加して結果を検証したりすることができます。出力を追加するには、以下の操作を行います。

  1. 適切な MongoDB Tool ノードを右クリックし、[出力の追加] を選択します。
  2. [出力の追加] ダイアログで、右側のペインから目的の JSON ツールを選択し、[終了] をクリックします。

MongoDB Tool を実行すると、連結したツールに出力を渡します。必要に応じて (たとえば値の抽出やアサーションの設定など) 複数のツールを連結できます。

変更ログ

この拡張プラグインには以下の更新が行われました。

1.3

MongoDB ドキュメントの挿入、更新、削除機能が追加されました。

1.2

MongoDB 4.0、4.2、4.4 のサポートが追加されました。

1.1

  • 複数ホストのサポートが追加されました。 

    ホストおよび/またはポート接続設定を指定したスクリプトは、ツールのアップグレード後は動作しません。

    接続設定のホストおよびポートは 1 つのフィールドにマージされました。接続ホストおよび/またはポートを定義するスクリプトを使用していた場合、このバージョンにアップグレードした後は、Hosts フィールドを指定する新しいスクリプトを追加する必要があります。詳細については「接続の設定」を参照してください。

  • 結果をトラフィックとして出力するオプションのサポートが追加されました。
  • 読み取り設定のサポートが追加されました。

1.0

  • 初回リリース

サード パーティのコンテンツ

このプラグインは、以下のサードパーティのコンテンツを含みます。

その他のライセンスの詳細については、MongoDB Query Tool の licenses フォルダーを参照してください。

  • No labels