mirror of
https://github.com/supabase/supabase.git
synced 2026-07-03 00:24:25 +08:00
115 lines
2.6 KiB
Plaintext
115 lines
2.6 KiB
Plaintext
---
|
|
id: containedby
|
|
title: '.containedBy()'
|
|
slug: /containedby
|
|
custom_edit_url: https://github.com/supabase/supabase/edit/master/spec/supabase_js_v2_legacy.yml
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs'
|
|
import TabItem from '@theme/TabItem'
|
|
|
|
Finds all rows whose json, array, or range value on the stated `column` is
|
|
contained by the specified `value`.
|
|
|
|
```js
|
|
const { data, error } = await supabase
|
|
.from('countries')
|
|
.select('name, id, main_exports')
|
|
.containedBy('main_exports', ['cars', 'food', 'machine'])
|
|
```
|
|
|
|
## Parameters
|
|
|
|
<ul className="method-list-group">
|
|
|
|
<li className="method-list-item">
|
|
<h4 className="method-list-item-label">
|
|
<span className="method-list-item-label-name">
|
|
column
|
|
</span>
|
|
<span className="method-list-item-label-badge required">
|
|
required
|
|
</span>
|
|
<span className="method-list-item-validation">
|
|
<code>ColumnName</code>
|
|
</span>
|
|
</h4>
|
|
<div class="method-list-item-description">
|
|
|
|
The column to filter on.
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li className="method-list-item">
|
|
<h4 className="method-list-item-label">
|
|
<span className="method-list-item-label-name">
|
|
value
|
|
</span>
|
|
<span className="method-list-item-label-badge required">
|
|
required
|
|
</span>
|
|
<span className="method-list-item-validation">
|
|
<code>string</code> | <code>Record</code> | <code>array</code>
|
|
</span>
|
|
</h4>
|
|
<div class="method-list-item-description">
|
|
|
|
The value to filter with.
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
## Notes
|
|
|
|
- `.containedBy()` can work on array columns or range columns.
|
|
|
|
```js
|
|
.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()`
|
|
|
|
```js
|
|
const { data, error } = await supabase
|
|
.from('countries')
|
|
.select('name, id, main_exports')
|
|
.containedBy('main_exports', ['cars', 'food', 'machine'])
|
|
```
|
|
|
|
### With `update()`
|
|
|
|
```js
|
|
const { data, error } = await supabase
|
|
.from('countries')
|
|
.update({ name: 'Mordor' })
|
|
.containedBy('main_exports', ['orks', 'surveillance', 'evil'])
|
|
```
|
|
|
|
### With `delete()`
|
|
|
|
```js
|
|
const { data, error } = await supabase
|
|
.from('countries')
|
|
.delete()
|
|
.containedBy('main_exports', ['cars', 'food', 'machine'])
|
|
```
|
|
|
|
### With `rpc()`
|
|
|
|
```js
|
|
// 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'])
|
|
```
|