IronFlowDocs

data_filter

Filter array items by a condition.

Parameters

source_keystringrequired
Context key holding the source array
output_keystringrequired
Context key where the filtered array will be stored
fieldstringrequired
Field name to evaluate on each array item
opstringrequired
Comparison operator (see table below)
valueany
Value to compare against. Required for all operators except exists and not_exists.

Operators

OperatorDescriptionValue type
eqEqual (==)any
neqNot equal (!=)any
gtGreater than (>)number
ltLess than (<)number
gteGreater than or equal (>=)number
lteLess than or equal (<=)number
containsString contains substringstring
existsField exists and is not null— (value ignored)
not_existsField is missing or null— (value ignored)

Numeric operators (gt, lt, gte, lte) compare values as 64-bit floats. If either side is not a number, the item is excluded. The contains operator performs a string substring check; if either side is not a string, the item is excluded.

Context Output

  • {output_key} — the filtered array
  • {output_key}_count — number of items in the filtered array

Example

flow:step("filter_active", nodes.data_filter({
    source_key = "users",
    field = "status",
    op = "eq",
    value = "active",
    output_key = "active_users"
}))

flow:step("filter_high_value", nodes.data_filter({
    source_key = "orders",
    field = "total",
    op = "gte",
    value = 100,
    output_key = "high_value_orders"
})):depends_on("fetch_orders")

flow:step("filter_has_email", nodes.data_filter({
    source_key = "contacts",
    field = "email",
    op = "exists",
    output_key = "with_email"
}))

IronFlow documentation

Find the next step

Type a keyword to search the documentation.

to move · Enter to open · Esc to close