sql >> Database >  >> RDS >> PostgreSQL

Rails (postgres)-query met jsonb-array

Wat je wilt gebruiken is de @> operator , die test of uw linkerwaarde de rechterwaarde bevat. "Bevat" werkt voor zowel objecten als arrays, dus de volgende query zou werken:

SELECT * FROM products WHERE specs->'spec_options' @> '["spec1", "spec2"]';

Wat ik geloof dat je zo kunt transformeren in ActiveRecord-compatibele syntaxis:

scope :with_spec_options, ->(spec_options) { 
  where("specs->'spec_option' @> ?", spec_options.to_json) 
}



  1. Hoe Unicode() werkt in SQLite

  2. Automatisch teruggestuurde e-mailadressen uit de database verwijderen?

  3. Decimaal datatype rondt de waarden af

  4. Geen toestemming bij het opzetten van ruby ​​op rails