Mule 4:批处理:批处理步骤中接受表达式时出错
Mule 4 : Batch Processing : Error in Accept Expression in Batch step
我正在使用具有多个批处理步骤的批处理。
一个批处理步骤的输出是:
[
{
"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 returns 数组中所有 TotalPurchase 成员的数组。因此无法将该计算数组与数字进行比较。
我正在使用具有多个批处理步骤的批处理。
一个批处理步骤的输出是:
[
{
"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 returns 数组中所有 TotalPurchase 成员的数组。因此无法将该计算数组与数字进行比较。