Filters can be used on select()
, update()
, and delete()
queries.
If a Postgres function returns a table response, you can also apply filters.
You must apply your filters to the end of your query. For example:
const \{ data, error \} = await supabase
.from('cities')
.select('name, country_id')
.eq('name', 'The Shire') // Correct
const \{ data, error \} = await supabase
.from('cities')
.eq('name', 'The Shire') // Incorrect
.select('name, country_id')
Filters can be chained together to produce advanced queries. For example:
const \{ data, error \} = await supabase
.from('cities')
.select('name, country_id')
.gte('population', 1000)
.lt('population', 10000)
Filters can be built up one step at a time and then executed. For example:
const filterByName = null
const filterPopLow = 1000
const filterPopHigh = 10000
let query = supabase
.from('cities')
.select('name, country_id')
if (filterByName) \{ query = query.eq('name', filterByName) \}
if (filterPopLow) \{ query = query.gte('population', filterPopLow) \}
if (filterPopHigh) \{ query = query.lt('population', filterPopHigh) \}
const \{ data, error \} = await query