Docs Menu
Docs Home
/
Relational Migrator
/ /

クエリの変換

項目一覧

  • このタスクについて
  • 手順
  • 次のステップ
  • 詳細

クエリ 変換 を使用して、埋め込みアプリケーションとレポート作成の SQL クエリを MongoDB 構文に変換できます。 クエリをコピーしてクエリ 変換に貼り付け、MongoDB と移行したスキーマで動作するように更新します。

  • クエリ ドライバーはAIテクノロジーを使用しますが、長いクエリや複雑なクエリ、トリガー、または保存された手順を変換できない場合があります。 正しく変換されないクエリもあれば、まったく変換されないクエリもあります。

  • クエリ ドライバーは、リレーショナル スキーマ、MongoDB スキーマ、現在のプロジェクト内のマッピング ルールを使用して、クエリを変換する方法を決定します。 クエリがリレーショナル スキーマにないテーブルを参照する場合、または MongoDB コレクションにマップされていない場合、変換が失敗したり不正確になることがあります。

  • 変換されたクエリ、trigger、ビュー、保存された手順はプロジェクトに保存され、プロジェクトのインポートおよびエクスポート後も保持されます。

  • SQLクエリは40 、 000テキスト文字に制限されています。

  • クエリ 変換によって生成されたコードは、本番環境に配置する前に、必ず確認とテストを行ってください。

  • 左側の [ Query Converterペインで以前の変換履歴を表示できます。 各変換には、変換の結果を示す アイコンがあります。 オブジェクトの横に アイコンがない場合、変換はまだ試行されていません。

    Icon
    説明
    スピナー
    変換が実行中です。
    緑色のチェックマーク
    変換は成功しました。
    赤色の句読点
    前回の試行では変換は失敗しました。
1

[ Code Generationタブから、 Query Converterペインをクリックします。

2
  • プロジェクトでクエリ 変換を初めて使用する場合は、[ Paste SQL Queryをクリックします。

  • プロジェクトで SQL コードを変換したことがある場合は、左側のペインで+ ADD Queriesの横にある [] ボタンをクリックします。

3
  1. SQL クエリをクリップボードにコピーします。

    注意

    SQL Queryテキストフィールドにコピーされたクエリは、SELECT クエリである必要があります。 たとえば、 SELECT ID,ITEMNAME,PRICE FROM inventoryのようになります。

  2. SQL Queryヘッダーの下にある SQL クエリを テキストボックスに貼り付けます。

4
  1. [ Convert ] ボタンをクリックします。 SQL コードが変換されるまで待ちます。 The converted MongoDB syntax code displays in the Converted MongoDB Query pane.

    クエリ 変換にエラーが発生した場合は、 Converted MongoDB Queryペインで詳細を表示できます。

    Tip

    プロジェクトからクエリの名前を変更または削除するには、次をクリックします: SQL Queryペインで [] ボタンをクリックし、[] を選択します。またはアイコン。

  2. をクリックします[] アイコンを使用して、MongoDB 構文をクリップボードにコピーします。

  3. 生成された MongoDB 構文をテストして検証します。

    Tip

    Filterテキスト ボックスを使用して、オブジェクト名と SQL 構文に基づいて、クエリ、保存済み手順、trigger、ビューをフィルタリングできます。

5

変換されたクエリにフィードバックを提供し、将来のクエリ変換を改善します。 フィードバックを提供するには、次をクリックします。または変換されたクエリ パネルの右下にある アイコン。 次に、フィードバックの詳細を提供し、[ Submit ] をクリックします。

次の表は、クエリ 変換を使用して MongoDB 構文に変換された SQL クエリの例を示しています。 変換されたクエリの構文と構造は、プロジェクトで使用されるマッピング ルールによって異なります。

SQL Syntax
MongoDB 構文
SELECT *
FROM CUSTOMERS
async function query(db) {
return await db.collection('Customers').find({
}).toArray();
}
SELECT CONTACTNAME, CITY
FROM CUSTOMERS
WHERE CONTACTNAME LIKE '%SMITH%'
async function query(db) {
return await db.collection('Customers').find({
ContactName: { $regex: '.*SMITH.*' }
}, {
projection: { ContactName: 1, City: 1, _id: 0 }
}).toArray();
}
SELECT CUSTOMERID, CITY
FROM CUSTOMERS AS C
JOIN ORDERS AS O
ON C.CUSTOMERID = O.CUSTOMERID
WHERE CONTACTNAME IN('ABI','JIM')
const query = async (db) => {
return await db.collection('Customers').aggregate([
{
$lookup: {
from: 'Orders',
localField: 'CustomerId',
foreignField: 'CustomerId',
as: 'customer_orders'
}
},
{
$match: {
CONTACTNAME: { $in: ['ABI', 'JIM'] }
}
},
{
$project: {
CustomerId: 1,
City: 1
}
}
]).toArray();
};
  • ビューの変換

  • 保存された手順の変換

  • SQL から MongoDB へのマッピング チャート

  • SQL から集計へのマッピングチャート

戻る

クエリ 変換子を有効にする