2011-11-17 68 views
0

我的问题是这样的:COMPLEXE查询与MongoID在轨

我有一个Member模型last_visited_atnotified_at属性。

我要选择的对象匹配的论文条件:

(date_one < last_visited_at < date_two) notified_at < date_one OR date_two < notified_at

这也可以写成:

date_one < last_visited_at last_visited_at < date_two notified_at < date_one OR 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

是什么错误?同样,你的'any_of'散列有两个条目用于同一个键,':notifications_for_not_signing_in_at'。 – Russell

回答

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})