javascript - Mongo ISODate - 如何检查是否已过去 30 天或更长时间?

标签 javascript node.js mongodb mongoose

<分区>

努力创建条件以检查自从在 mongo 中指定 ISODate 以来是否已过去 30 天。

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

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

在 Javascript 中我会简单地做一些像

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

简而言之,我只想找到这些元素,其中 30 天后在 mongo db 中创建它。寻求任何帮助!

最佳答案

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

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

关于javascript - Mongo ISODate - 如何检查是否已过去 30 天或更长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55367672/

相关文章:

javascript - 返回一个函数调用好不好?

node.js - 我如何检测具有上下文的意图? (Dialogflow API V2 的 Node.js SDK)

node.js - Mongoose 使用 presave 中间件推送到数组

javascript - 嵌套对象上的 JSON.stringify 忽略嵌套对象

javascript - 电子邮件地址验证的最佳做法(包括 gmail 地址中的 +)

javascript - 使用 jQuery DataTables 和 colResizable 调整列大小的问题

node.js - 无法发布/使用express和body解析器

mongodb - 使用 Golang 将日期插入 Mongodb

javascript - 如何使用MongoDB Node native列出Mongo Collection的所有索引?

javascript - Yii2 - 在 GridView 中使用 Ajax/Pjax 通过 switch toogle 更新数据