PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Toán tử postgres cho kiểu dữ liệu JSON sử dụng Rails 4

Phản hồi này yêu cầu Postgres 9.4 Trong cấu trúc dữ liệu mẫu của bạn, bạn có như sau:

2.1.1 :202 > r.column_data
=> {"data1"=>[1, 2, 3], "data2"=>"data2-3", "array"=>[{"hello"=>1}, {"hi"=>2}]}

Thật không may, việc kiểm tra sự tồn tại của một phần tử trong một mảng chỉ hoạt động (theo hiểu biết của tôi) với các giá trị chuỗi. Nếu chúng tôi có dữ liệu sau, chúng tôi có thể truy vấn nó mà không gặp vấn đề gì.

{"data1"=>['1', '2', '3'], "data2"=>"data2-3"}

Hãy kiểm tra điều này. Lưu ý:tải trọng là jsonb. Nó sẽ không hoạt động như một trường json.

Dynamic.create(payload: {"data1"=>['1', '2', '3'], "data2"=>"data2-3"})
Dynamic.where("payload -> 'data1' ? '1'").first
=> #<Dynamic id: 8, payload: {"data1"=>["1", "2", "3"], "data2"=>"data2-3"}, created_at: "2014-12-24 02:30:31", updated_at: "2014-12-24 02:30:31">

Để tìm hiểu thêm, bạn có thể xem bài viết này




  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 hàng thành cột

  2. Hiển thị tất cả các tên cơ sở dữ liệu

  3. Cập nhật nhiều giá trị jsonb

  4. Tìm tất cả các giao điểm của tất cả các tập hợp phạm vi trong PostgreSQL

  5. Tập lệnh shell để thực thi các lệnh pgsql trong tệp