Skip to content

Database

MongoDB, MySQL, PostgreSQL, and Redis database operations.

9 modules

ModuleDescription
Datenbank-EinfügenDaten in Datenbanktabellen einfügen
Datenbank-AbfrageSQL-Abfragen auf PostgreSQL-, MySQL- oder SQLite-Datenbanken ausführen
Datenbank-UpdateDaten in Datenbanktabellen aktualisieren
MongoDB-SucheDokumente aus MongoDB-Sammlung abfragen
MongoDB-EinfügenEin oder mehrere Dokumente in MongoDB-Sammlung einfügen
MySQL-AbfrageSQL-Abfrage auf MySQL-Datenbank ausführen und Ergebnisse zurückgeben
PostgreSQL-AbfrageSQL-Abfrage auf PostgreSQL-Datenbank ausführen und Ergebnisse zurückgeben
Redis abrufenWert aus Redis-Cache abrufen
Redis setzenWert in Redis-Cache setzen

Modules

Datenbank-Einfügen

database.insert

Daten in Datenbanktabellen einfügen

Parameters:

NameTypeRequiredDefaultDescription
tablestringYes-Name of the table
dataobjectYes-Data to insert or update
database_typeselect (postgresql, mysql, sqlite)NopostgresqlDatabase type to connect to
connection_stringstringNo-Database connection string
hoststringNo-Database host
portnumberNo-Database port
databasestringNo-Database name
userstringNo-Database username
passwordstringNo-Database password
returningarrayNo-Columns to return after insert (PostgreSQL)

Output:

FieldTypeDescription
inserted_countnumberAnzahl der eingefügten Zeilen
returning_dataarrayAnzahl der eingefügten Zeilen

Example: Insert single row

yaml
table: users
data: {"name": "John", "email": "john@example.com"}
database_type: postgresql

Datenbank-Abfrage

database.query

SQL-Abfragen auf PostgreSQL-, MySQL- oder SQLite-Datenbanken ausführen

Parameters:

NameTypeRequiredDefaultDescription
querystringYes-SQL query to execute
paramsarrayNo[]Parameters for parameterized queries (prevents SQL injection)
database_typeselect (postgresql, mysql, sqlite)NopostgresqlDatabase type to connect to
connection_stringstringNo-Database connection string
hoststringNo-Database host
portnumberNo-Database port
databasestringNo-Database name
userstringNo-Database username
passwordstringNo-Database password
fetchselect (all, one, none)NoallHow many rows to return from the query

Output:

FieldTypeDescription
rowsarrayAbfrageergebniszeilen
row_countnumberAbfrageergebniszeilen
columnsarrayAbfrageergebniszeilen

Example: Select with parameters

yaml
query: SELECT * FROM users WHERE status = $1
params: ["active"]
database_type: postgresql

Datenbank-Update

database.update

Daten in Datenbanktabellen aktualisieren

Parameters:

NameTypeRequiredDefaultDescription
tablestringYes-Name of the table
dataobjectYes-Data to insert or update
whereobjectYes-WHERE conditions (column: value for equality)
database_typeselect (postgresql, mysql, sqlite)NopostgresqlDatabase type to connect to
connection_stringstringNo-Database connection string
hoststringNo-Database host
portnumberNo-Database port
databasestringNo-Database name
userstringNo-Database username
passwordstringNo-Database password

Output:

FieldTypeDescription
updated_countnumberAnzahl der aktualisierten Zeilen

Example: Update user status

yaml
table: users
data: {"status": "active"}
where: {"id": 123}
database_type: postgresql

MongoDB-Suche

db.mongodb.find

Dokumente aus MongoDB-Sammlung abfragen

Parameters:

NameTypeRequiredDefaultDescription
connection_stringstringNo-MongoDB connection string (defaults to env.MONGODB_URL)
databasestringYes-Database name
collectionstringYes-Collection name
filterobjectNo{}MongoDB query filter (empty object {} returns all)
projectionobjectNo-Fields to include/exclude in results
limitnumberNo100Maximum number of documents to return
sortobjectNo-Sort order (1 for ascending, -1 for descending)

Output:

FieldTypeDescription
documentsarrayArray von übereinstimmenden Dokumenten
countnumberArray von übereinstimmenden Dokumenten

Example: Find all active users

yaml
database: myapp
collection: users
filter: {"status": "active"}
limit: 50

Example: Find with projection and sort

yaml
database: myapp
collection: orders
filter: {"total": {"$gt": 100}}
projection: {"_id": 0, "order_id": 1, "total": 1, "created_at": 1}
sort: {"created_at": -1}
limit: 20

MongoDB-Einfügen

db.mongodb.insert

Ein oder mehrere Dokumente in MongoDB-Sammlung einfügen

Parameters:

NameTypeRequiredDefaultDescription
connection_stringstringNo-MongoDB connection string (defaults to env.MONGODB_URL)
databasestringYes-Database name
collectionstringYes-Collection name
documentobjectNo-Document to insert (for single insert)
documentsarrayNo-Array of documents to insert (for bulk insert)

Output:

FieldTypeDescription
inserted_countnumberAnzahl der eingefügten Dokumente
inserted_idsarrayAnzahl der eingefügten Dokumente

Example: Insert single document

yaml
database: myapp
collection: users
document: {"name": "John Doe", "email": "john@example.com", "created_at": "${timestamp}"}

Example: Insert multiple documents

yaml
database: myapp
collection: products
documents: [{"name": "Product A", "price": 19.99}, {"name": "Product B", "price": 29.99}]

MySQL-Abfrage

db.mysql.query

SQL-Abfrage auf MySQL-Datenbank ausführen und Ergebnisse zurückgeben

Parameters:

NameTypeRequiredDefaultDescription
hoststringNo-Database host
portnumberNo3306Database port
userstringNo-Database username
passwordstringNo-Database password
databasestringNo-Database name
querystringYes-SQL query to execute
paramsarrayNo[]Parameters for parameterized queries (prevents SQL injection)

Output:

FieldTypeDescription
rowsarrayArray von Ergebniszeilen als Objekte
row_countnumberArray von Ergebniszeilen als Objekte
columnsarrayArray von Ergebniszeilen als Objekte

Example: Select products

yaml
query: SELECT id, name, price FROM products WHERE stock > 0 ORDER BY price DESC LIMIT 20

Example: Parameterized query

yaml
query: SELECT * FROM orders WHERE customer_id = %s AND created_at > %s
params: ["${customer_id}", "2024-01-01"]

PostgreSQL-Abfrage

db.postgresql.query

SQL-Abfrage auf PostgreSQL-Datenbank ausführen und Ergebnisse zurückgeben

Parameters:

NameTypeRequiredDefaultDescription
connection_stringstringNo-Database connection string
querystringYes-SQL query to execute
paramsarrayNo[]Parameters for parameterized queries (prevents SQL injection)

Output:

FieldTypeDescription
rowsarrayArray von Ergebniszeilen als Objekte
row_countnumberArray von Ergebniszeilen als Objekte
columnsarrayArray von Ergebniszeilen als Objekte

Example: Select users

yaml
query: SELECT id, email, created_at FROM users WHERE active = true LIMIT 10

Example: Parameterized query

yaml
query: SELECT * FROM orders WHERE user_id = $1 AND status = $2
params: ["${user_id}", "completed"]

Redis abrufen

db.redis.get

Wert aus Redis-Cache abrufen

Parameters:

NameTypeRequiredDefaultDescription
keystringYes-Redis key
hoststringNo-Redis host (from env.REDIS_HOST or explicit)
portnumberNo6379Redis port
dbnumberNo0Redis database number

Output:

FieldTypeDescription
valueanyDer zurückgegebene Wert
existsbooleanDer zurückgegebene Wert
keystringDer zurückgegebene Wert

Example: Get cached value

yaml
key: user:123:profile
host: ${env.REDIS_HOST}

Example: Get from remote Redis

yaml
key: session:abc
host: redis.example.com
port: 6379
db: 1

Redis setzen

db.redis.set

Wert in Redis-Cache setzen

Parameters:

NameTypeRequiredDefaultDescription
keystringYes-Redis key
valueanyYes-Value to store
ttlnumberNo-Time to live in seconds (optional)
hoststringNo-Redis host (from env.REDIS_HOST or explicit)
portnumberNo6379Redis port
dbnumberNo0Redis database number

Output:

FieldTypeDescription
successbooleanWhether the operation completed successfully
keystringKey identifier

Example: Cache user profile

yaml
key: user:123:profile
value: {"name": "John", "email": "john@example.com"}
ttl: 3600

Example: Set session data

yaml
key: session:abc
value: active
ttl: 1800
host: redis.example.com

Released under the Apache 2.0 License.