問題タブ [jsonb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
9337 参照

sql - postgresでjsonの任意のキーの値をフィルタリングする方法

usersというjsonbフィールドを持つテーブルがありますdata。特定の文字列に一致する列のを持つすべてのユーザーを取得する必要があります。data例えば:

dataに一致する値を持つユーザーを取得したいのですが'b2'、この場合は になります'user2'

これをエレガントな方法で行う方法はありますか?すべてのユーザーからすべてのキーを取得しdata、手動でクエリを作成できますが、高速でもエレガントでもありません。

さらに、一致したキーと値を取得する必要がありますが、まず最初に。

0 投票する
1 に答える
1278 参照

sql - json 内からテキスト クエリを実行する方法

結果が のレコードを検索する必要があり"Achieved"ます。textデータは、 Postgres 9.4の列にある JSON オブジェクトです。

私は使用してみました:

ただし、単語のインスタンスが"Achieved"と同じ場所で一致するとは限りません"Legal"。以下のサンプル データでわかるように、このGoals Arrayセクションでは、進行状況が更新されている可能性があります##。コメントは説明のために私が書いたものです。(有効な JSON 形式を取得するには、それらを削除する必要があります!)

クエリはステータスを正常に取得しますが、最新のステータス更新として"Legal"2 番目の条件が一致しない場合があります。"Achieved"

JSON でのテキスト クエリを読んだことがありますが、この構造では途方に暮れています。jsonlint.com に配置すると、正しい JSON として検証されます。誰か助けてくれませんか?

以下は、完全なクエリとそれに続くデータのサンプルです。

の値の例notes.data:

0 投票する
1 に答える
3949 参照

postgresql - postgres9.4 は jsonb をループします: key:val ペアの val を選択する方法

この plpgsql スクリプトは、一連の jsonb オブジェクトの key:value ペアからキーを選択しますが、各ペアの値を選択する方法は?

マンページhttp://www.postgresql.org/docs/9.4/static/functions-json.htmlは、戻り値がキーテキスト、値テキストのセットであることを示しているため、可能である必要があります。この投稿Postgres - array for loopは配列の質問に答えます。また、jsonb_each() および jsonb_array_elements() をイテレータを jsonb に変更してみましたが、「オブジェクトから要素を抽出できません」というエラーが表示されました

0 投票する
1 に答える
388 参照

ruby-on-rails - Ruby on Rails jsonb (ハッシュ) の日付を検証する

Postgres db に jsonb 列があり、ユーザーの pref["date"] date_field を持つフォームがあります。

日付への変換が失敗した場合、エラーのない日付である user.pref["date"] を日付に変換して検証するにはどうすればよいですか?

0 投票する
1 に答える
5784 参照

sql - PostgreSQL の json 配列でインデックスを使用する

元のstackoverflow questionを参照して、Postgres 9.4の配列のオブジェクトのキーにginインデックスを適用しようとしていますが、最初の回答に記載されている結果が得られません。

エラーを修正していただけますか?

私が従った手順は以下に書かれています。

パート 1: テーブルとインデックスの作成

パート 2: クエリ

このクエリは空の結果を返します。また、 GIN インデックス
を使用しようとしました。jsonb_path_ops

代替インデックスとクエリ:

0 投票する
1 に答える
1887 参照

json - WHERE BETWEEN 句の PostgreSQL jsonb 値

データベース テーブル (a_table) に jsonb フィールドがあり、その中に int 値があります。

WHERE 句を使用して、このフィールド ("ghk") によるフィルターで SELECT を作成しようとしています。

このようなクエリを作成するにはどうすればよいですか? これまでのところ、jsonb の使用に関する適切なチュートリアルが見つかりませんでした。

前もって感謝します!

編集 私はこの解決策を見つけました:

それが正しいか?

0 投票する
1 に答える
2965 参照

json - postgresql jsonb には、第 2 レベルの key:value が含まれています

postgresql でキーをクエリする可能性はありますか: 2 番目のレベルの値

たとえば、行の jsonb フィールドは次のようになります。

次のような v_id 値を使用して、この行を照会します。

ただし、このクエリは無効です。そのようなクエリを達成するにはどうすればよいですか?

編集:

@CraigRingerのコメントによると:

ここでのポイントは、最上位のキーがわからないということです。「任意のオブジェクトについて、次の値を持つ次のキーを持つ内部オブジェクトがあるか」と言いたいのです。