Querying Data
Select
// All rows
const { data } = await naijabase.from('products').select('*')
// Specific columns
const { data } = await naijabase
.from('products')
.select('id, name, price')
// Filter by equality
const { data } = await naijabase
.from('products')
.select('*')
.eq('category', 'electronics')
// Multiple filters
const { data } = await naijabase
.from('products')
.select('*')
.eq('category', 'electronics')
.gt('price', 10000)
.limit(10)
// Order results
const { data } = await naijabase
.from('orders')
.select('*')
.order('created_at', { ascending: false })
// Single row
const { data } = await naijabase
.from('users')
.select('*')
.eq('email', 'user@example.com')
.single()
Available filter operators
| Method | SQL equivalent | Example |
|---|---|---|
.eq('col', val) | col = val | .eq('status', 'active') |
.neq('col', val) | col != val | .neq('status', 'deleted') |
.gt('col', val) | col > val | .gt('price', 1000) |
.gte('col', val) | col >= val | .gte('price', 1000) |
.lt('col', val) | col < val | .lt('stock', 5) |
.lte('col', val) | col <= val | .lte('stock', 5) |
.like('col', pat) | col LIKE pat | .like('name', '%shoe%') |
.ilike('col', pat) | col ILIKE pat | .ilike('name', '%shoe%') |
.is('col', null) | col IS NULL | .is('deleted_at', null) |
.in('col', [...]) | col IN (...) | .in('status', ['active','pending']) |
Insert
// Single row
const { data, error } = await naijabase
.from('products')
.insert({
name: 'Ankara Fabric',
price: 5000,
category: 'fashion',
})
// Multiple rows
const { data, error } = await naijabase
.from('products')
.insert([
{ name: 'Aso-oke', price: 12000 },
{ name: 'Adire', price: 7500 },
])
Update
const { data, error } = await naijabase
.from('products')
.update({ price: 6000 })
.eq('id', 'product-uuid-here')
Delete
const { error } = await naijabase
.from('products')
.delete()
.eq('id', 'product-uuid-here')
Pagination
// Page 1 (rows 0–9)
const { data } = await naijabase
.from('products')
.select('*')
.order('created_at', { ascending: false })
.limit(10)
.offset(0)
// Page 2 (rows 10–19)
const { data } = await naijabase
.from('products')
.select('*')
.order('created_at', { ascending: false })
.limit(10)
.offset(10)