嗨大家我试图在mongodb中编写一个复杂的查询来获取当前服务器日期和createdAt日期之间的日期时间差小于60分钟的文档。
Mongoldb -v 3.0.10 currentDate = new Date(); db.blog.find({' blogStatus':' OPEN'})
想要应用这样的东西:
如果currentDate.getMinutes()> 60分钟真实展示文件虚假不显示文件
答案 0 :(得分:1)
如果您想获得超过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);