Select
Reads dataVersion 2
Finds the rows in a table that match your filters, in the order you sort them.
Settings
| Setting | What it is |
|---|---|
| TableRequired | Rows are separate per environment. Editor runs — Test node and Execute — read and write the test copy. |
| Rows that match | Every filter must match; values accept {{ }} expressions. |
| Sort | Without a sort, rows come back oldest first. |
| Give back | "all" or "first" |
| At most | Past this many, the first ones come back with a nextCursor for the rest. |
| If nothing matches | "empty" or "fail" |
| Search | Free text over the text and date columns, on top of the filters — a table with neither matches nothing. |
| If more rows | What happens when more rows match than At most allows. |
| Cursor | Continue a previous select from its nextCursor. |
Technical details
| Key | Value |
|---|---|
tableId | texta table id from `requires.tables` |
filters | list of {column: text, operator: text, value?: any JSON}, by default [] |
sort | list of {column: text, direction: "asc" or "desc"}, by default [] |
giveBack | "all" or "first", by default "all" |
atMost | number, by default 100used when `giveBack` is "all" |
ifNone | "empty" or "fail", by default "empty" |
search | text |
ifMoreRows | "first" or "fail", by default "first"used when `giveBack` is "all" |
cursor | text |
Output
| Field | Type |
|---|---|
rows | array |
nextCursorCursor for the next page | string |
filteredCountRows matching the filter | number |
totalCountRows in the table | number |
tableChangedThe table changed while it was read — a row may be missing | boolean |
Sample output, and the expression for each field
- filteredCount0
- nextCursor"cursor_1"
- rows[]
- totalCount0
Errors
When a step of this node stops a run, the run page shows a code. Look it up:
Example step
The step as a flow file holds it. Replace each value in <…>.
{
"config": {
"atMost": 100,
"cursor": "",
"filters": [],
"giveBack": "all",
"ifMoreRows": "first",
"ifNone": "empty",
"search": "",
"sort": [],
"tableId": "<table>"
},
"label": "Select",
"type": "table.select",
"version": 2
}Older versions
A flow that already has this version keeps running it. A new step always gets the newest.
Version 1
| Setting | What it is |
|---|---|
| TableRequired | Rows are separate per environment. Editor runs — Test node and Execute — read and write the test copy. |
| Filters | Every filter must match; values accept {{ }} expressions. |
| Sort | Order rows before they are returned. Without a sort, rows come back oldest first. |
| Search | Free text over the text and date columns — a table with neither matches nothing. |
| Max rows | Empty means this workspace's limit, which is also the most a select returns. |
| If more rows | Return the first rows with a nextCursor to read a large table page by page. |
| Cursor | Continue a previous select from its nextCursor. |
Technical details
| Key | Value |
|---|---|
tableId | texta table id from `requires.tables` |
filters | list of {column: text, operator: text, value?: any JSON}, by default [] |
sort | list of {column: text, direction: "asc" or "desc"}, by default [] |
search | text |
maxRows | number |
ifMoreRows | "fail" or "first", by default "fail" |
cursor | text |