我有一个名为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() }});