来自Mongo Collection的参赛作品超过24小时

时间:2016-03-10 22:41:54

标签: javascript mongodb date meteor time

我有一个名为Posts的Mongo集合,我在Meteor项目中使用它,其中每个元素都有一个名为date的字段,其中包含创建条目的日期。

我需要一个可以在我的集合上执行的查询,该查询将仅返回在过去24小时内创建的条目。

我有以下查询: Posts.find({date: {$gt: new Date("Mar 10, 2016")}});

哪个可以返回3月10日创建的帖子,但是,我想我需要用24小时前的日期替换Mar 10, 2016以实现我想要的,但我不知道如何这样做。

2 个答案:

答案 0 :(得分:2)

不安装任何软件包:

var d = new Date();
d.setDate(d.getDate() - 1);
Posts.find({date: {$gt: d}});

使用moment

Posts.find({date: {$gt: moment().subtract(1, 'day').toDate()}});

答案 1 :(得分:0)

您可以使用momentjs包在js中轻松进行日期数学运算:

Posts.find({ date: { $gt: moment().subtract(24,'hours').toDate() }});