Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js mongodb查找查询当前日期和createdAt日期之间的时间差是否小于60分钟_Node.js_Mongoose_Mongodb Query - Fatal编程技术网

Node.js mongodb查找查询当前日期和createdAt日期之间的时间差是否小于60分钟

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

大家好,我正试图在mongodb中编写一个复杂的查询来获取当前服务器日期和createdAt日期之间的日期时间差小于60分钟的文档

蒙古DB-V3.0.10 currentDate=新日期(); db.blog.find({'blogStatus':'OPEN'})

要应用如下内容:


如果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(梯度/小于)参数即可。可能存在重复的