【问题标题】:transformation with order by in mule 4 with dataweave 2.0使用 dataweave 2.0 在 mule 4 中进行 order by 转换
【发布时间】:2020-02-26 02:39:17
【问题描述】:

我必须按距离InKm 升序排列我的有效载荷数组。 这是有效载荷:

 [{
   "id": 1111,
   "accountNumber": 17694838,   
   "pickup": {
    "time": 1580637133000,
    "distanceInKm": 4.3
   }
 },{
  "id": 2222,
  "accountNumber": 17694838,
  "pickup": {
    "time": 1580637133000,
    "distanceInKm": 2.0
  }
},{
  "id": 3333,
  "accountNumber": 17694838,    
  "pickup": {
    "time": 1580637133000,
    "distanceInKm": 4.3
  }
  },{
  "id": 4444,
  "accountNumber": 17694838,
  "pickup": {
    "time": 1580637133000,
    "distanceInKm": 2.0
   }}]

转换:

  %dw 2.0
  output application/json 
   ---
 payload map (payload01, index) -> {
id: payload01.id,
Account: payload01.accountNumber,
pickup: {
    time: payload01.pickup.time,
    distance: payload01.pickup.distanceInKm
  }
} orderBy (payload01.pickup.distanceInKm)

我正在进行所需的转换,之后我正在应用 orderBy,但这不起作用。我可以进行哪些更改以使其按升序 distanceInKm?

【问题讨论】:

    标签: mule mulesoft mule4


    【解决方案1】:

    您可以将您的“地图”包含在一个组中,以确保您订购的内容已经是结果数组。见下文。

    (payload map (payload01, index) -> {
        id: payload01.id,
        Account: payload01.accountNumber,
        pickup: {
            time: payload01.pickup.time,
            distance: payload01.pickup.distanceInKm
        }
    }) orderBy $.pickup.distance
    

    这将产生一个按 distanceInKm 升序排列的数组。如果您想要降序,那么您可以使用-$.pickup.distance 作为您的标准。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多