Node.js mongodb查找查询当前日期和createdAt日期之间的时间差是否小于60分钟
大家好,我正试图在mongodb中编写一个复杂的查询来获取当前服务器日期和createdAt日期之间的日期时间差小于60分钟的文档 蒙古DB-V3.0.10 currentDate=新日期(); db.blog.find({'blogStatus':'OPEN'}) 要应用如下内容:Node.js mongodb查找查询当前日期和createdAt日期之间的时间差是否小于60分钟,node.js,mongoose,mongodb-query,Node.js,Mongoose,Mongodb Query,大家好,我正试图在mongodb中编写一个复杂的查询来获取当前服务器日期和createdAt日期之间的日期时间差小于60分钟的文档 蒙古DB-V3.0.10 currentDate=新日期(); db.blog.find({'blogStatus':'OPEN'}) 要应用如下内容: 如果currentDate.getMinutes()>60分钟true显示文档false不显示文档如果您想获得比60分钟新的帖子,那么您需要在查询中包含以下内容: db.blog.find({ blogStat
如果currentDate.getMinutes()>60分钟true显示文档false不显示文档如果您想获得比60分钟新的帖子,那么您需要在查询中包含以下内容:
db.blog.find({
blogStatus: 'OPEN',
createdAt: {
$gt: date,
}
});
其中,date
是通过从当前时间减去60分钟来计算的日期。如果您使用类似的值,那么您可以使用此值减去分钟数:
moment().subtract(60, 'minutes');
确保Mongo的格式和时区正确。这应该起作用:
var date = moment().subtract(60, 'minutes').utc().format();
如果没有力矩,在Mongo shell内部,这样的日期可以用以下内容构建:
var date = new Date(new Date() - 60 * 60 * 1000);
我最后用下面的查询
db.blog.find({'blogStatus':'OPEN','createdAt':{'gte':date}})这是重复的。只需在查询中使用$gte或$lte(梯度/小于)参数即可。可能存在重复的