在MongoDb中查询

问题描述:

我有一个名为“Class Sessions”的模型:scheduled_at作为字段之一,我需要提取其中:scheduled_at比特定日期晚的ClassSessions。在MongoDb中查询

P.S .: Scheduled_at以UTC格式存储日期。

+0

尝试像'ClassSessions.where一些事情(:scheduled_at.gte => Time.now.utc)''那里将Time.now.utc'返回现在时间在utc格式..注意。这不会owilla在香草红宝石,但将在轨道工作。 – Minato

+0

非常感谢Minato!帮了我很多 –

+0

'Time.utc(2000,“jan”,1,20,15,1)'这将返回所需的时间,但我猜测平面UTC不起作用。你必须调用'to_s'来将其转换为字符串。但你可以随时尝试并检查结果。 – Minato

尝试一些东西一样ClassSessions.where(:scheduled_at.gte => Time.now.utc)其中Time.now.utc现在返回的时间UTC格式..

gteltelt ...等你正在寻找这里的比较。有关更多信息,请参阅Mongoid Docs

默认情况下,Rails将,中的所有条件合并为AND,因此范围使用该逻辑。

注:如果返回Mongoid#Criteria对象,你可能需要调用它.results返回结果集。

注2:你可能已经将其传递给MongoDB的地方之前,呼吁Time.now.utc.to_s,但我不知道,尝试做两个,如果工作没有to_s不调用。

时间,你可以看看Ruby Time Docs