MomentJs仅返回Meteor上周的日期

时间:2015-12-14 23:08:16

标签: javascript meteor time momentjs

我在Meteor的一个集合中有大量日期。目前我正以极限10返回它们,但我需要将它们归还到上周(7天)。我的问题是每天都没有相同数量的物品,所以我不能每天抓住相同的数字。我正在使用Meteor与时刻js。以下是一些数据示例以及我用来返回它的代码:



{
  _id: "a68JFTrCFabQe5qQ2",
  createdAt: Tue Dec 15 2015 09:32:36 GMT+1100 (AUS Eastern Summer Time),
  user: "7uXThqXFkjkMpDrcb"
}

//This data gets to the client with the following:

getDay: function(day){
  return Time.find({today: day}, {limit: 10}).fetch();
}

//Instead of limiting it by 10 I need items from the last 7 days only.




谢谢!

1 个答案:

答案 0 :(得分:1)

您需要搜索createAt大于今天的日期 - 7天的记录。假设您在集合中创建这些对象时使用的是普通的javascript Date()对象,则可以使用以下代码获取上周内的所有记录:

Time.find({
    createdAt: {
        $gte: new moment().subtract(1, 'week').toDate(),
        $lte: new Date()
    }
});

如果您正在使用时刻。如果你不是,只需使用常规日期()并减去一周并将其放在$ gt字段中。