Coluna jsonb de consulta que contém a matriz de objetos JSON

eu usoPostgreSQL 9.5 e Rails 5. Quero consultar ojsonb coluna mostrada abaixo que contém uma matriz de objetos JSON para retornar todo o elemento da matriz JSON que contém{"kind":"person"} e também faça uma contagem.
oSQL Eu uso é mostrado abaixo dos dados json. A execução da consulta apenas retorna uma matriz vazia.

Eu tentei as consultas sugeridasaqui eaqui.

Isto é o que meujsonb os dados se parecem com:

   '[
        {"kind":"person", "filter_term":"56","selected_attr":"customer"},
        {"kind":"email", "filter_term":"marketer","selected_attr":"job_title"}
      ]'

Eu quero que uma da consulta sql retorne:

                             data
----------------------------------------------------------------------
 '{"kind":"person", "filter_term":"56","selected_attr":"customer"}'
(1 row)

e outra consulta para retornar a matriz de volta para que eu possa contar com ela no meu aplicativo e também fazer um loop sobre ela para criar formulários:

 data
----------------------------------------------------------------------
 '[{"kind":"person", "filter_term":"56","selected_attr":"customer"}]'
 (1 row)

Eu tentei esta consulta SQL:

 "SELECT * FROM \"segments\" WHERE (payload @> '[{\"kind\":\"person\"}]')"

Eu também tentei esta consulta:

  "SELECT payload FROM segments WHERE payload @> '[{\"kind\":\"person\"}]'::jsonb;"

Aqui está uma terceira consulta:

 "SELECT * FROM segments s WHERE s.payload->'\"#{a}\"' @> '[{\"kind\":\"person\"}]';"

O modelo:

class Segment < ApplicationRecord
 store_accessor :payload,:kind, :filter_term, :selected_model_name, :selected_attr, :limit, :selected_operator
end

A migração:

create_table "segments", force: :cascade do |t|

  t.jsonb    "payload",    default: "[]", null: false
  t.index ["payload"], name: "index_segments_on_payload", using: :gin

end

questionAnswers(1)

yourAnswerToTheQuestion