Salta el contingut

Nodes per a Bases de Dades

PostgreSQL, MySQL, MongoDB i Redis

PostgreSQL Node

Operations disponibles:

1. Execute Query (més flexible)
Query:
  SELECT u.name, u.email, COUNT(o.id) as order_count
  FROM users u
  LEFT JOIN orders o ON u.id = o.user_id
  WHERE u.created_at > '{{$json.since_date}}'
  GROUP BY u.id
  HAVING COUNT(o.id) > {{$json.min_orders}}

2. Insert
Table: customers
Columns:
  - name: {{$json.name}}
  - email: {{$json.email}}
  - created_at: {{$now}}

3. Update
Table: orders
Column to Match On: id
Values to Set:
  - status: {{$json.new_status}}
  - updated_at: {{$now}}

4. Delete
Table: temp_data
Delete By Column: created_at
Value: < NOW() - INTERVAL '7 days'

MySQL Node

Similar a PostgreSQL però amb sintaxi MySQL:

Query parametritzada:
  SELECT * FROM products 
  WHERE category = ? 
  AND price BETWEEN ? AND ?
  AND stock > ?

Parameters:
  - {{$json.category}}
  - {{$json.min_price}}
  - {{$json.max_price}}
  - 0

MongoDB Node

Operation: Find

Collection: users
Query:
{
  "age": { "$gte": {{$json.min_age}} },
  "city": "{{$json.city}}",
  "status": "active"
}

Projection:
{
  "name": 1,
  "email": 1,
  "orders": 1,
  "_id": 0
}

Options:
  Limit: {{$json.limit || 100}}
  Sort: { "created_at": -1 }

Redis Node

Use cases:

1. Caching
  [Check Redis]
    ↓ miss
  [Fetch from DB]
  [Store in Redis: TTL 3600s]

2. Rate Limiting
  Key: api_calls:{{$json.user_id}}
  [INCR key]
  [IF > limit → Reject]
  [EXPIRE key 60]

3. Pub/Sub
  [PUBLISH channel "message"]