【问题标题】:Is there a way to filter bulk inserts in mule 4?有没有办法过滤 mule 4 中的批量插入?
【发布时间】:2021-03-25 18:19:09
【问题描述】:

我正在 mule 4 中进行批量插入,我想过滤一些数据。

这是我现在的 SQL 查询。

INSERT INTO Example (AnlaggningId,Objektsnamn) values (:AnlaggningId,:Objektsnamn)

如果 Objektsnamn 不包含子字符串“Hi”,我只想插入该行。有没有办法在 mule 4 中做到这一点?

【问题讨论】:

    标签: mule mule4


    【解决方案1】:

    您可以在批量操作之前使用 Transform 组件来过滤输入,使用 filter() 函数。

    例如,假设输入是一个记录列表,其中包含一个名为 Objektsnamn 的字段:

    %dw 2.0
    output application/json
    ---
    payload filter !($.Objektsnamn contains ("Hi"))
    

    【讨论】:

    • 嗨!输入实际上是一个流,它是 SELECT 查询的返回值。我将如何编码?
    • DataWeave 也是一样。重要的是所包含的信息
    【解决方案2】:

    我找到了使用以下语法过滤 SELECT 查询结果的方法。

    <set-payload value='#[payload filter $.Objektsnamn != "Hi"]' doc:name="Set Payload" doc:id="24c6f187-5e43-4695-809c-1f92e3d489d7" />
    

    【讨论】:

    • 这与我的回答中的方法相同,但使用的条件是“不等于”。要求“不包含”的问题。如果问题不正确,请更新问题。
    • 是的,我知道,但由于某种原因,它不适用于您提供的确切语法。 () 有问题
    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 2021-04-23
    • 2020-09-18
    • 2021-01-21
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2017-07-08
    相关资源
    最近更新 更多