Gita Alekhya Paul | Quinence
12/06/2021, 6:35 AMsources
which has a column sourceAddresses
of type jsonb[]
of the following structure:
[
{
"address": "0xsomething1",
"type": "SOME_PROPERTY_1"
},
{
"address": "0xsomething2",
"type": "SOME_PROPERTY_2"
}
]
I want to check for a row in which the array in the column sourcesAddresses contains a certain source, identified by the address
property.
I tried to implement the code:
const { data, error } = await supabase
.from("sources")
.select("*")
.contains("address:sourceContractAddresses->>address", contractAddress);
Unfortunately it returns null
Can someone please guide me?chipilov
12/06/2021, 8:10 AMGita Alekhya Paul | Quinence
12/06/2021, 8:10 AMchipilov
12/06/2021, 8:11 AMRatul Saha | Quinence
12/06/2021, 8:12 AMconst { data, error } = await supabase
.from("sources")
.select("*")
.contains("address:sourceContractAddresses->>address", contractAddress);
Gita Alekhya Paul | Quinence
12/06/2021, 8:12 AMaddress
I want to searchchipilov
12/06/2021, 8:13 AMchipilov
12/06/2021, 8:13 AMGita Alekhya Paul | Quinence
12/06/2021, 8:13 AM0xsomething1
as per my exampleRatul Saha | Quinence
12/06/2021, 8:14 AMconst { data, error } = await supabase
.from("sources")
.select("*")
.contains("sourceContractAddresses", [`address: ${contractAddress}`]);
chipilov
12/06/2021, 8:17 AMchipilov
12/06/2021, 8:18 AMRatul Saha | Quinence
12/06/2021, 8:19 AMchipilov
12/06/2021, 8:23 AM${contractAddress}
, type: ${SOME_PROPERTY_2}
}] - this, of course, assumes that you also have typeGita Alekhya Paul | Quinence
12/06/2021, 8:24 AMchipilov
12/06/2021, 8:25 AMchipilov
12/06/2021, 8:27 AMGita Alekhya Paul | Quinence
12/06/2021, 8:28 AMGita Alekhya Paul | Quinence
12/06/2021, 8:28 AMchipilov
12/06/2021, 8:28 AMGita Alekhya Paul | Quinence
12/06/2021, 8:28 AMGita Alekhya Paul | Quinence
12/06/2021, 8:28 AMchipilov
12/06/2021, 8:35 AMchipilov
12/06/2021, 8:36 AMGita Alekhya Paul | Quinence
12/06/2021, 8:42 AMsourceContractAddresses
column into a JSON of key address
and value type
So, a sample column sourceContractAddresses
of a row would be:
{
"0xsomething1": "SOME_PROPERTY_1",
"0xsomething2": "SOME_PROPERTY_2"
}
Then I run the following query:
const { data, error } = await supabase
.from("sources")
.select(`id, sourceContractAddresses->>${contractAddress}`)
.neq(
`sourceContractAddresses->>${contractAddress}`,
`{ ${contractAddress}: null }`
);
Gita Alekhya Paul | Quinence
12/06/2021, 8:42 AMGita Alekhya Paul | Quinence
12/06/2021, 8:44 AMchipilov
12/06/2021, 8:46 AMchipilov
12/06/2021, 8:47 AMGita Alekhya Paul | Quinence
12/06/2021, 8:48 AMchipilov
12/06/2021, 8:50 AMchipilov
12/06/2021, 8:53 AM