1
我在我的mongodb中有文檔,這個文檔有event
字段 - 這個fild類型是date
。年,月,日,無所謂,只表示白天的時間。我希望cron腳本每天都要從mongodb中將event
(date typed)字段的文檔聚集到最近的10分鐘(到腳本調用日期)。如何正確實施?mongodb聚合文件的日期離日期最近的特定小時/分鐘
我在我的mongodb中有文檔,這個文檔有event
字段 - 這個fild類型是date
。年,月,日,無所謂,只表示白天的時間。我希望cron腳本每天都要從mongodb中將event
(date typed)字段的文檔聚集到最近的10分鐘(到腳本調用日期)。如何正確實施?mongodb聚合文件的日期離日期最近的特定小時/分鐘
db.mytable.find(
{
"event": {
$gt: new Date(new Date().getTime() - (10 * 60 * 1000))
}
})
這個查詢就會發現,有一個"event"
性質與過去10分鐘內的值的所有文檔。不帶參數的new Date()
返回表示「現在」的Date
。我們從毫秒中提取數字曆元時間並減去10分鐘。更具體地說,我們減去(10分鐘* 60秒每分鐘* 1000毫秒每秒),以便我們轉換爲正確的單位。然後我們使用該值構造另一個new Date(...)
,這是進入$gt
(大於)過濾條件的那個值。
您提到需要「聚合」。如果是這樣,那麼同樣的查詢也可以在你需要的任何Aggregation Pipeline內使用。