type DatabaseQuery = {
where?: FilterGroup
sort?: SortClause[]
limit?: number
offset?: number
}
type FilterGroup = {
logic: string // "and" or "or"
conditions: FilterCondition[]
}
type FilterCondition = {
type: string // "comparison" or "group"
columnId?: string // comparison only
operator?: string // comparison only: eq, neq, gt, gte, lt, lte, contains, not_contains, starts_with, ends_with, is_empty, is_not_empty
value?: string // comparison only
group?: FilterGroup // group only
}
type SortClause = {
columnId: string
direction: string // "asc", "desc" or "random"
}
Database Lookup (Single)
BlockDatabases
Find a single row from a database matching your query. Returns the first matching row.
- Gets an extra input or output for each column of the database you pick.
Inputs
DatabaseRequired
Select the database to query.
Query
Define filters to find the row. Leave empty to get the first row.
Set up in the editor. The JSON format is under advanced documentation below.
Outputs
Row ID
The unique ID of the found row.
Example: abc123xyz
Found
Whether a matching row was found (true/false).
Example: true
Row JSON
The full row as a JSON object, including system fields (__id, __created_at, __updated_at, __created_at_unix, __updated_at_unix).
Example: {"__id":"abc123","name":"example"}
Build a bot using blocks like Database Lookup (Single)
Use this block in our visual flow editor. Bots are hosted 24/7 for free on inventor.bot.
Advanced Documentation
This documentation can be useful when using code mode. View as Markdown
ID:
db_lookup_single- Database columns are extra inputs/outputs named
dbcol_<column name>.
Inputs
| Field | InventScript name | Value |
|---|---|---|
| Database | database_id | |
| Query | query_json | JSON text |
query_json format: JSON text of type DatabaseQuery. Fields marked ? are optional.Outputs
| Field | InventScript name | Value |
|---|---|---|
| Row ID | row_id | e.g. "abc123xyz" |
| Found | found | e.g. "true" |
| Row JSON | row_json | e.g. "{\"__id\":\"abc123\",\"name\":\"example\"}" |
Example InventScript
row := db_lookup_single(Args{database_id: "..."})
send_text_message(Args{channel_id: trigger.channel_id, message_content: "Row ID: " + row.row_id})
More databases blocks
Database Lookup (Iterator)Find multiple rows from a database and iterate over each one.Database Create RowCreate a new row in a database with the specified values.Database Duplicate RowDuplicate an existing row in a database by its ID.Database Update RowUpdate an existing row in a database with new values.Clear Row DataClear selected columns from a database row. Does nothing if the row does not exist.Clear Matching Row DataFind rows matching a query and clear selected columns from all of them.Update Matching RowsFind rows matching a query and update them all with the specified values.Delete Matching RowsDelete rows matching a query and return how many were deleted.Database Delete RowDelete a row from a database by its ID.