Mule 4:批处理:批处理步骤中的接受表达式出错

Mule 4:批处理:批处理步骤中的接受表达式出错,mule,mule4,Mule,Mule4,我使用的批处理有多个批处理步骤 一个批次步骤的输出为: [ { "CustomerId": "00", "TotalPurchase": 0 }, { "CustomerId": "11", "TotalPurchase": 1 }, { "CustomerId": "22",

我使用的批处理有多个批处理步骤

一个批次步骤的输出为:

[
  {
    "CustomerId": "00",
    "TotalPurchase": 0
  },
  {
    "CustomerId": "11",
    "TotalPurchase": 1
  },
  {
    "CustomerId": "22",
    "TotalPurchase": 8
  },
  {
    "CustomerId": "33",
    "TotalPurchase": 27
  },
  {
    "CustomerId": "44",
    "TotalPurchase": 64
  },
  {
    "CustomerId": "55",
    "TotalPurchase": 125
  },
  {
    "CustomerId": "66",
    "TotalPurchase": 216
  },
  {
    "CustomerId": "77",
    "TotalPurchase": 343
  },
  {
    "CustomerId": "88",
    "TotalPurchase": 512
  },
  {
    "CustomerId": "99",
    "TotalPurchase": 729
  },
  {
    "CustomerId": "1010",
    "TotalPurchase": 1000
  }
]

在下一个批处理步骤中,我将使用值为的ACCEPT EXPRESSION字段:

#[payload.TotalPurchase > 100]
但我得到了一个错误:

Types `Array` and `Number` can not be compared.
payload.TotalPurchase > 100
   ^^^^^^^^^^^^^^^^^^^^^


知道为什么会发生这种情况吗?

也许您希望将数组的每个元素作为记录处理,但对于该输入有效负载,
#[payload.TotalPurchase]
的值为:

[
  0,
  1,
  8,
  27,
  64,
  125,
  216,
  343,
  512,
  729,
  1000
]
这是因为DataWeave返回数组中所有TotalPurchase成员的数组。因此,不可能将计算出的数组与数字进行比较