我的问题如下:
我有一个Member
模型,其last_visited_at
和notified_at
属性。
我想选择符合这些条件的对象:
(date_one< last_visited_at
< date_two)
和
(notified_at
< date_one 或 date_two< notified_at
)
也可以写成:
date_one< last_visited_at
和
last_visited_at
< date_two
和
(notified_at
< date_one 或 date_two< notified_at
)
这是我尝试过的,但它不起作用:
我确定一个物体符合这些条件。
(MongoID,使用Rails控制台)
Member.where(:last_visited_at => {"$lte" => date_one, "$gte" => date_two})
.any_of(
:notified_for_not_signing_in_at => {"$gte" => date_one},
:notified_for_not_signing_in_at => {"$lte" => date_two})
.first
它返回错误
有没有人知道如何解决这个问题?
感谢您的帮助和时间,
答案 0 :(得分:0)
any_of必须像这样写(作为哈希)
.any_of( {:notified_for_not_signing_in_at => {"$gte" => date_one}},
{:notified_for_not_signing_in_at => {"$lte" => date_two}})
不
any_of(
:notified_for_not_signing_in_at => {"$gte" => date_one},
:notified_for_not_signing_in_at => {"$lte" => date_two})