আমি jsonb
পোস্টগ্রাসে টাইপের বিপরীতে একটি ক্যোয়ারী লিখতে চাই যা গ্রাহকদের আইডির একটি অ্যারে দিলে সংশ্লিষ্ট গোষ্ঠীগুলি খুঁজে পেতে পারে।
এই উদাহরণ সারণী দেওয়া:
CREATE TABLE grp(d JSONB NOT NULL);
INSERT INTO grp VALUES
('{"name":"First","arr":["foo"], "customers":[{"id":"1", "name":"one"},{"id":"2", "name":"two"}]}')
, ('{"name":"Second","arr":["foo","bar"], "customers":[{"id":"3", "name":"three"},{"id":"4", "name":"four"}]}')
, ('{"name":"Third","arr":["bar","baz"], "customers":[{"id":"5", "name":"five"},{"id":"6", "name":"seven"}]}');
আমি অনুরূপ প্রশ্ন পেয়েছি ( একাধিক মানের বিপরীতে PostgreSql JSONB SELECT ) এবং এই কোয়েরিটি ব্যবহার করে আমি সাধারণ অ্যারেতে যা চাই তা অর্জন করতে পরিচালিত:
SELECT d FROM grp WHERE d->'arr' ?| ARRAY['foo', 'bar'];
যাইহোক, যখন অ্যারেতে JSON অবজেক্ট থাকে তখন আমি এটি কাজ করতে পারি না :
SELECT d FROM grp WHERE d->'customers' ?| ARRAY['{"id":"1"}', '{"id":"5"}'];
আমার জিজ্ঞাসা থেকে আমি যা প্রত্যাশা করি তা এখানে:
grp "প্রথম" -> গ্রাহক "1"
grp "তৃতীয়" -> গ্রাহক "5"