How to filter on multiple values for a given set of keys using JSONB, and an index
I see 2 rather straight forward approaches depending on how many values we're looking for.

The first option is to look for a document containing the single valued keys (in this example: where info @&gt; '{"k1":"bar"}'; and wrap that with additional filtering for all the other values: info-&gt;&gt;k0 in &lt;the values&gt;

The 2nd option would be to create full documents for the various options, in your example it means creating 2 documents to search by. If the number of values is small them it's not too much of a problem and the index will be used.