Dashboard

Database

Query tables with a fluent builder. Filters, nested selects, and RPC.

Select

All queries return { data, error }. Builders are thenable — you can await them directly.

index.ts
const { data, error } = await voltbase
  .from('products')
  .select('id, name, price')
  .eq('active', true)
  .order('created_at', 'desc')
  .limit(10);

Filters

MethodExample
.eq / .neq.eq('id', '…')
.gt / .gte / .lt / .lte.gte('price', 10)
.like / .ilike.ilike('name', '%phone%')
.is.is('deleted_at', 'null')

Nested select

One-level embeds over foreign keys — commas inside (…) are preserved:

index.ts
const { data } = await voltbase
  .from('posts')
  .select('id, title, author:users(id, email)');

Insert / update / delete

index.ts
await voltbase.from('products').insert({ name: 'Keyboard', price: 99 });

await voltbase
  .from('products')
  .eq('id', productId)
  .update({ price: 79 });

await voltbase.from('products').eq('id', productId).delete();

Updates & deletes

The SDK currently targets rows with .eq('id', …) for update/delete. Prefer service role or authenticated JWT + RLS for writes.

RPC

index.ts
const { data, error } = await voltbase.rpc('get_user_stats', {
  user_id: '',
});

When a session exists, REST/RPC requests automatically send X-User-Jwt so RLS can use uid().