時間:2024-03-26 14:48作者:下載吧人氣:33
MongoDB時間段查詢是非常有用的在數(shù)據(jù)庫查詢時實現(xiàn)任務。MongoDB中具有許多函式可用于查詢時間段,其中一些最常用的功能有$gte(起始時間),$lt(截止時間)和$lte(等于截止時間),可以用下面的代碼實現(xiàn)。
collection.find({
date:{ $gte:ISODate("2016-05-06T12:11:00Z"),
$lt:ISODate("2016-10-07T15:00:00Z") }
})
這里,我們使用ISO-8601(一種多種語言所采用的格式)格式將日期格式化為字符串。此外,MongoDB $(options)也可以實現(xiàn)同樣的服務。例如:
Date.prototype.addHours = function (h) {
this.setTime(this.getTime() + (h*60*60*1000)); return this;
};
let startDate = new Date();let endDate = new Date();
startDate.addHours(-7);
collection.find({ date: {
$gte: startDate, $lt: endDate
}});
日期范圍查詢語句需要存儲日期字段的document。我們可以使用mongoose 這個對象模型庫在一個Node.js應用程序中存儲日期字段。下面是模型代碼:
var schema = new mongoose.Schema({
name : { type: String}, created_at : {type: Date, default: Date.now}
});
而要進行搜索,只需在mongoose查詢中添加這個查詢語句即可:
Model.find({
created_at: { $gte: startDate,
$lt: endDate }
));
總之,MongoDB查詢精確的時間段和日期的范圍查詢是十分有效的,我們可以基于上面的代碼迅速完成任務,從而提供精確的查詢結(jié)果。
網(wǎng)友評論