Javascript Meteor.js/MongoDB日期间查询不返回数据
我有下面一段代码用于从Mongo集合中获取结果Javascript Meteor.js/MongoDB日期间查询不返回数据,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我有下面一段代码用于从Mongo集合中获取结果 var currentDate = moment().toISOString(); // RETURNING: 2016-12-10T20:36:04.494Z var futureDate = moment().add(10, "days").toISOString(); // RETURNING: 2016-12-20T20:36:04.495Z return agenda = Agendas.find({ "agendaDate":
var currentDate = moment().toISOString();
// RETURNING: 2016-12-10T20:36:04.494Z
var futureDate = moment().add(10, "days").toISOString();
// RETURNING: 2016-12-20T20:36:04.495Z
return agenda = Agendas.find({
"agendaDate": { '$gte': currentDate, '$lte': futureDate }
});
日期存储在MongoDB集合中,如下所示
{
"_id" : ObjectId("584877e56466dd236cd95f15"),
"agendaDate" : ISODate("2016-12-12T17:28:25.000+0000"),
"agendaTime" : "20:59",
"agendaEvent" : "Test event"
}
然而,我并没有得到任何结果。我设置了3个测试文档,2个在范围内,1个在范围外
谁能解释一下我做错了什么并帮助纠正代码吗?您需要将日期与实际的日期对象进行比较,而不是表示它们的字符串 也就是说,您需要使用以下方法从
时刻
对象中获取日期
您需要将日期与实际日期对象进行比较,而不是与表示日期的字符串进行比较 也就是说,您需要使用以下方法从
时刻
对象中获取日期
实际上,moment.toISOString()返回一个字符串,所以不能使用它与mongodb查询中的date对象进行比较。 您应该考虑为此创建日期对象。 Regs,
Yann实际上,moment.toISOString()返回一个字符串,因此您不能使用它与mongodb查询中的date对象进行比较。 您应该考虑为此创建日期对象。 Regs,
Yann工作得很好。谢谢你,马斯塔姆。被选为答案。谢谢你,马斯塔姆。被选为答案。
var futureDate = moment().add(10, "days").toDate();