Two way, you can test any json(b) value
- the
->>operator extract value as text. But this operation slow, if you will use the value only test - the
@>operator test any json(b) contain any json(b). This is a quick but you are not tested NOT option.
Simply and quick way:
NOT (attribute @> '{"City":"Mesa"}'::jsonb)
I’ve change attribute->>'City' <> 'Mesa' to NOT (attribute @> '{"City":"Mesa"}'::jsonb) and my ~2.000.000 rows query result time changed 45secs to 25secs.