Skip to main content
Version: v1

.containedBy()

Finds all rows whose json, array, or range value on the stated column is contained by the specified value.

const { data, error } = await supabase
.from('countries')
.select('name, id, main_exports')
.containedBy('main_exports', ['cars', 'food', 'machine'])

Parameters

  • columnrequiredobject

    The column to filter on.

  • valuerequiredstring | object | array

    The value to filter with.

      Properties
    • objectrequiredobject

      No description provided.

    • stringrequiredobject

      No description provided.

    • objectrequiredobject

      No description provided.

Notes

  • .containedBy() can work on array columns or range columns.

    .containedBy('arraycol',["a","b"]) // You can use a javascript array for an array column
    .containedBy('arraycol','{"a","b"}') // You can use a string with Postgres array {} for array column.
    .containedBy('rangecol','(1,2]') // Use Postgres range syntax for range column.
    .containedBy('rangecol',`(${arr}]`) // You can insert an array into a string.

Examples

With select()

const { data, error } = await supabase
.from('countries')
.select('name, id, main_exports')
.containedBy('main_exports', ['cars', 'food', 'machine'])

With update()

const { data, error } = await supabase
.from('countries')
.update({ name: 'Mordor' })
.containedBy('main_exports', ['orks', 'surveillance', 'evil'])

With delete()

const { data, error } = await supabase
.from('countries')
.delete()
.containedBy('main_exports', ['cars', 'food', 'machine'])

With rpc()

// Only valid if the Postgres function returns a table type.
const { data, error } = await supabase
.rpc('echo_all_countries')
.containedBy('main_exports', ['cars', 'food', 'machine'])