postgresql 如何在Postgres,Activerecord,Rails5中查询空的jsonb数组

4bbkushb  于 2023-04-05  发布在  PostgreSQL
关注(0)|答案(2)|浏览(161)

我有一个Post模型,其列由以下迁移定义:

add_column :posts, :comments, :jsonb, default: []

add_index :posts, :comments, using: :gin

我想知道要运行的查询,这样我就有了所有默认为comments的空数组Posts的计数。

voase2hg

voase2hg1#

Post.where("comments = '[]'").count
5uzkadbs

5uzkadbs2#

你可以通过将json转换为字符串,然后计算长度来实现。空的json将返回2。这对{}和[]都有效。例如,要返回非空的注解

Post.where("length(comments::text) > 2").count

相关问题