我在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.

谢谢!
答案 0 :(得分:1)
您需要搜索createAt大于今天的日期 - 7天的记录。假设您在集合中创建这些对象时使用的是普通的javascript Date()对象,则可以使用以下代码获取上周内的所有记录:
Time.find({
createdAt: {
$gte: new moment().subtract(1, 'week').toDate(),
$lte: new Date()
}
});
如果您正在使用时刻。如果你不是,只需使用常规日期()并减去一周并将其放在$ gt字段中。