我有一个Post模型,其列由以下迁移定义:
Post
add_column :posts, :comments, :jsonb, default: [] add_index :posts, :comments, using: :gin
我想知道要运行的查询,这样我就有了所有默认为comments的空数组Posts的计数。
comments
Posts
voase2hg1#
Post.where("comments = '[]'").count
5uzkadbs2#
你可以通过将json转换为字符串,然后计算长度来实现。空的json将返回2。这对{}和[]都有效。例如,要返回非空的注解
Post.where("length(comments::text) > 2").count
2条答案
按热度按时间voase2hg1#
5uzkadbs2#
你可以通过将json转换为字符串,然后计算长度来实现。空的json将返回2。这对{}和[]都有效。例如,要返回非空的注解