大家好,我正在尝试在 mongodb 中编写一个复杂的查询来获取当前服务器日期和createdAt日期之间的日期时间差小于60分钟的文档。
蒙古数据库-v 3.0.10 当前日期 = 新日期(); db.blog.find({'blogStatus':'OPEN'})
想要应用这样的东西:
if currentDate.getMinutes() > 60 分钟 true 显示文档 false 不显示文档
最佳答案
如果您想获取 60 分钟内的帖子,那么您需要在查询中包含如下内容:
db.blog.find({
blogStatus: 'OPEN',
createdAt: {
$gt: date,
}
});
其中 date
是通过从当前时间减去 60 分钟计算得出的日期。如果您使用类似 Moment 的内容那么你可以用它来减去分钟:
moment().subtract(60, 'minutes');
确保您获得适合 Mongo 的格式和时区。这应该有效:
var date = moment().subtract(60, 'minutes').utc().format();
没有 Moment 并且在 Mongo shell 内部,这样的日期可以用类似的东西构造:
var date = new Date(new Date() - 60 * 60 * 1000);
关于node.js - mongodb查找查询当前日期和createdAt日期之间的时间差是否小于60分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39562176/