2015-11-02 438 views
0

我有一個名爲「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

回答

0

嘗試一些東西一樣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