按 ruby Sequel/Postgres 中的 json 字段排序
Ordering by json field in ruby Sequel/Postgres
我正在使用 Jeremy Evans 在 Ruby 中的 Sequel 库,我正在尝试按 json 中的字段进行排序。
我可以使用此 Postgres 查询在 SQL 中使用它:
SELECT * FROM files ORDER BY json->>'filename' ASC
但我无法让它与 Sequel/Postgres
一起使用
table.order("json ->'filename'")
结果如下 SQL:
SELECT * FROM "files" ORDER BY 'json ->''filename'''
报错:
PG::SyntaxError: ERROR: non-integer constant in ORDER BY
LINE 1: ... ORDER BY 'json ->''...
问题已解决:
table.order(Sequel.lit("json ->'filename'"))
我正在使用 Jeremy Evans 在 Ruby 中的 Sequel 库,我正在尝试按 json 中的字段进行排序。
我可以使用此 Postgres 查询在 SQL 中使用它:
SELECT * FROM files ORDER BY json->>'filename' ASC
但我无法让它与 Sequel/Postgres
一起使用table.order("json ->'filename'")
结果如下 SQL:
SELECT * FROM "files" ORDER BY 'json ->''filename'''
报错:
PG::SyntaxError: ERROR: non-integer constant in ORDER BY
LINE 1: ... ORDER BY 'json ->''...
问题已解决:
table.order(Sequel.lit("json ->'filename'"))