ruby-on-rails - 在 Postgres JSONB 列中按数字排序

标签 ruby-on-rails postgresql ruby-on-rails-5 jsonb

我的 JSONB 列中定义了一个 position 键。

值被视为文本,所以下面的查询

MyModel.order("data ->> 'position' ASC").each {|x| puts x.position}

返回:

0
1
10
2
3

如何将 position 视为整数并根据它对我的模型进行排序?

最佳答案

纯属猜测,但也许:

MyModel.order("(data ->> 'position')::Integer ASC").each {|x| puts x.position}

关于ruby-on-rails - 在 Postgres JSONB 列中按数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512326/

相关文章:

ruby-on-rails - Ruby - 如何在 View 中获取关联哈希值?

ruby-on-rails - 如何在安装在 vmware 中的 ubuntu 中运行 ruby​​ on rails 程序?

python - 带有复合键的 sqlalchemy 辅助表

postgresql - 更改/models 文件夹下表中的字段不会更新表架构

postgresql - 作为 PostgreSQL 查询的一部分,如何将整数转换为字符串?

mysql - 我可以在数据库中找到具有给定字符串数组但使用部分字符串的项目吗?

angular - 如何在 angular2 模型上声明日期属性

ruby-on-rails - 如何在 Ruby on Rails 命令行中列出所有 REST URL

ruby-on-rails - 升级到 Rails 5 时的 Kaminari 问题

ruby-on-rails - 使用 Postgres 按年分组