我试图从两个日期之间的集合中获取一些文档(例如,差异为5小时)。我的代码:
Session.setDefault('sortBy', 'time');
Template.content.helpers({
posts: function() {
if( Session.equals('sortBy', 'time') ){
return Posts.find({author: Meteor.user().username}, {sort: {date_created: -1}});
}
else if( Session.equals('sortBy', 'hours') ) {
var endDate = new Date();
var startDate = new Date(endDate);
startDate.setHours(endDate.getHours()-5);
console.log("startDate: " + startDate);
console.log("endDate: " + endDate);
return Posts.find({author: Meteor.user().username}, {date_created: {$gte: startDate,$lt: endDate}})
}
}
});
Template.content.events({
'click .lasthour': function(e) {
return Session.set('sortBy', 'hours');
},
'click .nosort': function(e) {
return Session.set('sortBy', 'nosort');
}
});
但它总是返回所有文档(因此过滤器不起作用)。 并且问题不在Session变量' sortBy'中,它工作正常。
答案 0 :(得分:1)
您的查询格式错误。应该是这样的:
return Posts.find(
{
author: Meteor.user().username,
date_created: {$gte: startDate, $lt: endDate}
}
);