ruby-on-rails - 返回没有特定键的记录 - Rails4 HStore Postgresql 查询

标签 ruby-on-rails postgresql-9.1 hstore

我有一个模型任务

t.string   "name"
t.hstore   "actions"

例子:

#<Task id: 1, name: "first", actions: {"today"=>"9"}, 
#<Task id: 2, name: "second", actions: {"yesterday"=>"1"}, 
#<Task id: 3, name: "third", actions: nil,
#<Task id: 4, name: "four", actions: {"today"=>"11"},

我需要找到所有记录,其中 actions: nil, :today<10 和 key :today 不存在。 这是1,2,3任务。

Task.where("actions -> 'today' < '10'") - it return only first task.
Task.where("actions -> 'today' < '10' OR actions IS NULL")  - it return 1 and 3 records.

我如何找到所有没有关键字 :today in action 的记录?

最佳答案

来自 here ,根据你的问题:

Task.where("actions IS NULL OR EXIST(actions, 'today') = FALSE")

根据您的意见:

Task.where("actions -> 'today' < '10' OR actions IS NULL OR EXIST(actions, 'today') = FALSE")

关于ruby-on-rails - 返回没有特定键的记录 - Rails4 HStore Postgresql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645329/

相关文章:

ruby-on-rails - rails 在 2 个现有模型之间创建关系

ruby-on-rails - Rails 服务器提供 Readline 支持错误

ruby-on-rails - 如何在 Rails 的特定时区安排工作人员的时间?

sql - 在postgresql中添加两个关系的列

django - 在 Django 中实现 PostgreSQL HStore

ruby-on-rails - 本地开发环境限制Elasticsearch内存使用的最佳实践

java - 使用java从PostgreSQL中的bytea检索文件

postgresql - FDW 似乎锁定了外部服务器上的表

python - Heroku 上的 django-hstore

Postgresql Hstore 和 Toast 膨胀