outerJoin

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

outerJoin(Array<L>, Array<R>, (leftValue: L) -> String, (rightValue: R) -> String): Array<​{ l?: L, r?: R }​>

オブジェクトの 2 つの配列を、指定された ​ID​ 条件で結合します。

outerJoin​ は、すべての ​left​ 項目を含む配列を返し、存在する ​right​ 項目を ID によってマージします。また、​left​ に存在しない ​right​ 項目も返します。

DataWeave 2.2.0 で導入されました。Mule 4.2 以降でサポートされます。

パラメーター

名前 説明

left

オブジェクトの左側配列

right

オブジェクトの右側配列

leftCriteria

左のコレクションの ID を抽出するために使用する条件。

rightCriteria

右のコレクションの ID を抽出するために使用する条件。

次の例は、結合の動作を示しています。出力には、入力の ​user.id​ と ​product.ownerId​ の値が一致するオブジェクトと、​user.id​ または ​product.ownerId​ の値に一致しないオブジェクトが含まれます。

ソース

 %dw 2.0
 import * from dw::core::Arrays
 var users = [{id: "1", name:"Mariano"},{id: "2", name:"Leandro"},{id: "3", name:"Julian"},{id: "5", name:"Julian"}]
 var products = [{ownerId: "1", name:"DataWeave"},{ownerId: "1", name:"BAT"}, {ownerId: "3", name:"DataSense"}, {ownerId: "4", name:"SmartConnectors"}]
 output application/json
 ---
 outerJoin(users, products, (user) -> user.id, (product) -> product.ownerId)

出力

[
  {
    "l": {
      "id": "1",
      "name": "Mariano"
    },
    "r": {
      "ownerId": "1",
      "name": "DataWeave"
    }
  },
  {
    "l": {
      "id": "1",
      "name": "Mariano"
    },
    "r": {
      "ownerId": "1",
      "name": "BAT"
    }
  },
  {
    "l": {
      "id": "2",
      "name": "Leandro"
    }
  },
  {
    "l": {
      "id": "3",
      "name": "Julian"
    },
    "r": {
      "ownerId": "3",
      "name": "DataSense"
    }
  },
  {
    "l": {
      "id": "5",
      "name": "Julian"
    }
  },
  {
    "r": {
      "ownerId": "4",
      "name": "SmartConnectors"
    }
  }
]