L'interrogation à l'intérieur de Postgres tableaux JSON

Comment feriez-vous à la recherche d'un élément dans un tableau stocké dans un json de la colonne? (Mise à jour: voir Aussi la mise à jour 9.4 réponse pour jsonb colonnes.)

Si j'ai un document JSON comme ça, stockée dans un json colonne nommée blob:

{"name": "Wolf",
 "ids": [185603363281305602,185603363289694211]}

ce que j'aimerais être capable de faire quelque chose comme:

SELECT * from "mytable" WHERE 185603363289694211 = ANY("blob"->'ids');

et obtenir toutes les lignes correspondantes de sortir. Mais cela ne fonctionne pas parce que "blob"->'ids' renvoie du JSON valeurs, pas Postgres tableaux.

J'aimerais aussi créer un index sur la personne de l'IDs, si c'est possible.

InformationsquelleAutor Joe Shaw | 2013-09-16