NodeJS MongoDB查找早于当前日期的帖子

时间:2019-02-26 16:37:28

标签: javascript node.js mongodb datetime mongoose

所以我在这里有以下代码行:

let advertisements = await Advertisement.find({created_at: {$lt: moment().valueOf()}});

这就是它的作用:

created_at:在以下位置创建帖子时返回时间戳:1551198203488.0

moment.valueOf()向我返回当前时间戳,例如:1551198203488.0

现在,我需要编写此代码行,使其仅发现1小时前的ads。有可能吗?

我还存储了group2_datemoment().add(1, 'h'),它们向其中添加了1小时的当前时间戳BUT:app.use(session({ key: 'user_sid', secret: 'realwave', resave: true, saveUninitialized: false, rolling: false, cookie: { path: "/", maxAge: 1000 * 60 * 60 * 24 * 7, secure: false }, cookie: { secure: false } // Remember to set this }));

1 个答案:

答案 0 :(得分:0)

您可以使用moment函数从.subtract中减去一小时,然后使用$gte运算符从减去的小时数中仅获得较大的值/文档,而从当前时间中获得较少的值/文档。

let advertisements = await Advertisement.find({
  "created_at": {
    "$lte": moment().toDate(),
    "$gte": moment().subtract(1, 'hours').toDate()
  }
})