MongoDB时间段查询是非常有用的在数据库查询时实现任务。MongoDB中具有许多函式可用于查询时间段,其中一些最经常使用的功能有$gte(起始时间),$lt(截止时间)和$lte(等于截止时间),可以用下面的代码实现。
collection.find({
date:{ $gte:ISODate("2016-05-06T12:11:00Z"),
$lt:ISODate("2016⑴0-07T15:00:00Z") }
})
这里,我们使用ISO⑻601(一种多种语言所采取的格式)格式将日期格式化为字符串。另外,MongoDB $(options)也能够实现一样的服务。例如:
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(⑺);
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查询精确的时间段和日期的范围查询是十分有效的,我们可以基于上面的代码迅速完成任务,从而提供精确的查询结果。
本文来源:https://www.yuntue.com/post/157189.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏