0
如何檢查MongoDB中的當前時間戳?MongoDB時間戳現在
目前我使用的查詢,看起來像:
"last_visit": {
"$lt": NumberLong(1373779876)
}
我存儲查詢,然後我有一個cron作業,使得它每分鐘運行一次。
如果我的一個用戶自某時間戳以來沒有登錄,我可以知道它。
但NumberLong產生的是不正確的,因爲我目前使用的時間() - 通過PHP14天,所產生的NumberLong應該是類似的結果:
timestampNOW - someTimestamp(我在PHP中生成)
我目前的解決方案保留過去的絕對日期,而不是像timeRIGHTNOW這樣的相對日期 - 14天。
我相信我需要我的查詢中的本地蒙戈命令
而不是'(時間() - (14 * 24 * 60 * 60))* 1000''您應該使用''(strtotime(「兩週前」)* 1000)''。不是每天都是「24 * 60 * 60」分鐘! – Derick
此外,您無法通過驅動程序傳遞ISODate()。getTime()。純PHP中的解決方案就是我所要做的。 – Derick
在UTC中,一天的時間長短不變,在許多情況下都是人們所期望的:用戶在過去的336小時內沒有登錄(除閏秒外)。在大多數情況下,我不想在這裏考慮DST。通過驅動程序傳遞JS查詢應該是可能的,但可能需要'command'或'execute',某事。像http://php.net/manual/en/mongodb.execute.php – mnemosyn