sql >> Databáze >  >> RDS >> PostgreSQL

Dotaz Rails (postgres) s polem jsonb

To, co chcete použít, je @> operátor , který testuje, zda vaše hodnota na levé straně obsahuje hodnotu na pravé straně. "Obsahuje" funguje pro objekty i pole, takže následující dotaz by fungoval:

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

Věřím, že můžete transformovat do syntaxe kompatibilní s ActiveRecord takto:

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



  1. Nejčistší způsob, jak vytvořit řetězec SQL v Javě

  2. [01000][unixODBC][Správce ovladačů]Nelze otevřít knihovnu '/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so':soubor nenalezen

  3. mysql nahradit alternativou

  4. Omezit levé spojení na vrácení jednoho výsledku?