在MongoDb中查询
问题描述:
我有一个名为“Class Sessions”的模型:scheduled_at作为字段之一,我需要提取其中:scheduled_at比特定日期晚的ClassSessions。在MongoDb中查询
P.S .: Scheduled_at以UTC格式存储日期。
答
尝试一些东西一样ClassSessions.where(:scheduled_at.gte => Time.now.utc)
其中Time.now.utc
现在返回的时间UTC格式..
gte
,lte
,lt
...等你正在寻找这里的比较。有关更多信息,请参阅Mongoid Docs。
默认情况下,Rails将,
中的所有条件合并为AND
,因此范围使用该逻辑。
注:如果返回Mongoid#Criteria
对象,你可能需要调用它.results
返回结果集。
注2:你可能已经将其传递给MongoDB的地方之前,呼吁Time.now.utc
.to_s
,但我不知道,尝试做两个,如果工作没有to_s
不调用。
时间,你可以看看Ruby Time Docs
尝试像'ClassSessions.where一些事情(:scheduled_at.gte => Time.now.utc)''那里将Time.now.utc'返回现在时间在utc格式..注意。这不会owilla在香草红宝石,但将在轨道工作。 – Minato
非常感谢Minato!帮了我很多 –
'Time.utc(2000,“jan”,1,20,15,1)'这将返回所需的时间,但我猜测平面UTC不起作用。你必须调用'to_s'来将其转换为字符串。但你可以随时尝试并检查结果。 – Minato