PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Rails (postgres) заявка с jsonb масив

Това, което искате да използвате, е @> оператор , който тества дали вашата лява стойност съдържа стойността отдясно. „Съдържа“ работи както за обекти, така и за масиви, така че следната заявка ще работи:

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

Което според мен можете да трансформирате в синтаксис, съвместим с ActiveRecord, така:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:VACCUM FULL срещу pg_dump и възстановяване

  2. какво е @JoinColumn и как се използва в Hibernate

  3. Локална грешка на Postgres

  4. Как да извлечете най-доброто от PostgreSQL регистрационните файлове

  5. Съобщение 28000:няма запис в pg_hba.conf за хост \xx.xxx.xxx.xxxx\, потребител \User, база данни \databasename\, SSL изключен