首页 > 解决方案 > Mongo ISODate - 如何检查是否超过 30 天?

问题描述

努力创造条件以检查自ISODatemongo 中指定以来是否已过去 30 天。

字段名称是creationDate,我正在使用find函数,我只想找到这些,从创建日期开始已经过去了 30 天。

User.find({ 
   creationDate: {
      $gte: ...
   }
});

在Javascript中,我会简单地做类似的事情

(+new Date() - +new Date(creationDate))/60/60/24 >= 30

简而言之,我只想找到这些元素,30在 mongo db 中创建它已经过去了好几天。寻求任何帮助!

标签: javascriptnode.jsmongodbmongoose

解决方案


我认为您只需要计算当前时间之前的 30 天,并将其用作条件如下:

let fromDate = new Date(Date.now() - 60 * 60 * 24 * 30 * 1000);
User.find({
  creationDate: {
    $gte: fromDate
  }
});


推荐阅读