Suppose I have a PG ARRAY field:
id | array |
===|=============|
1|{"1","2","3"}|
How do I use sequelize to query to see if the array field as the value 1
.
I tried:
array: { $contains: "1" }
which gives me:
array @> "1"
with error:
Possibly unhandled SequelizeDatabaseError: array value must start with "{" or dimension information
I was able to do it by: array: { $contains: '{' + value + '}' }
Is there a more correct way?
I realised that sequelize is expecting the condition to be an array:
array: { [Op.contains]: ["1"] }
That will work. Cheers!!
Bear in mind that Op
is exported from sequelize
const { Op } = require('sequelize');
or
import { Op } from 'sequelize';
See official docs: https://sequelize.org/master/manual/model-querying-basics.html#operators
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With