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