ActiveRecord/Postgres-在数组字段中查找所有带有null的实体



给定一个模型User和一个字符串数组列device_ids,我如何查询所有将null作为该数组列元素的用户?

例如,某些用户的device_ids:值无效

user.device_ids
=> [null, "XYZABCDEFGH"]

我试着按照这个答案中的建议进行查询。。。

User.where.not("(-1 = ANY(device_ids)) IS NULL")

但我得到了这个错误:

ERROR:  operator does not exist: integer = character varying

有没有其他方法可以在一个查询中获取所有用户?

感谢您的帮助@sticky bit!我的最终解决方案是:

用户。其中("EXISTS(SELECT*FROM unest(device_ids(a(e(where e为NULL("(