[英]How to query mongo for every 4 hour for that day only
我只想查詢將僅提供過去4小時結果的節點中的mongo,當天應該給我添加的結果計數7:00-11:00,然后11:00-3:00,然后3:00- 7:00像這樣。
我嘗試為每個時間間隔編寫不同的mongo查詢。 我想運行相同的查詢,該查詢將提供過去4個小時的數據。
db.CollectionName.find({"created_at": {
'$gte': moment().startOf('day').toDate(),
'$lt': moment(today).endOf('day').toDate()
}});
用相同的查詢運行。 我想要三種不同的計數,即一次為7-11am,然后為11-3pm,然后為3-7pm。
運行此查詢以獲取基於今天日期的每小時結果
在7:00-11:00(7:00至10:59:59)間隔內獲取數據
db.CollectionName.aggregate([
{$project:{hour:{$hour:"$added_on"},title: 1,added_on:1}},
{$match:{
hour:{"$in":[7,10]},
added_on: { $gte: new Date(new Date().setUTCHours(0,0,0,0)) , $lte: new Date(new Date().setUTCHours(23,59,59,999)) }
}
}
])
在11:00-15:00(11:00至14:59:59)間隔內獲取數據
db.CollectionName.aggregate([
{$project:{hour:{$hour:"$added_on"},title: 1,added_on:1}},
{$match:{
hour:{"$in":[11,14]},
added_on: { $gte: new Date(new Date().setUTCHours(0,0,0,0)) , $lte: new Date(new Date().setUTCHours(23,59,59,999)) }
}
}
])
在15:00-19:00(15:00至18:59:59)間隔內獲取數據
db.CollectionName.aggregate([
{$project:{hour:{$hour:"$added_on"},title: 1,added_on:1}},
{$match:{
hour:{"$in":[15,18]},
added_on: { $gte: new Date(new Date().setUTCHours(0,0,0,0)) , $lte: new Date(new Date().setUTCHours(23,59,59,999)) }
}
}
])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.