Mongodb 如何使用日期进行查询
我需要在一天内从数据库中取出所有行Mongodb 如何使用日期进行查询,mongodb,meteor,Mongodb,Meteor,我需要在一天内从数据库中取出所有行 var i_sDate = "2014-06-21"; // (user input) var startDate = new Date(); var month = parseInt(i_sDate.substr(5,2)) - 1; var day = i_sDate.substr(8,2); startDate.setFullYear(i_sDate.substr(0,4), month, day); startDate.setHours(0, 0, 0
var i_sDate = "2014-06-21"; // (user input)
var startDate = new Date();
var month = parseInt(i_sDate.substr(5,2)) - 1;
var day = i_sDate.substr(8,2);
startDate.setFullYear(i_sDate.substr(0,4), month, day);
startDate.setHours(0, 0, 0, 0);
var endDate = new Date();
endDate.setFullYear(i_sDate.substr(0,4), month, day);
endDate.setHours(23, 59, 59, 0);
var query = {start_time:{"$gte": "ISODate('" + startDate.toISOString() + "')", "$lt": "ISODate('" + endDate.toISOString() + "')"}};
var tableInfo = Users_Collection.find(query).fetch();
console.log(query);
当我打印“query”时,它看起来不错,但我根本没有得到任何结果,我将相同的信息直接放在数据库中,得到了预期的结果。看来我用错误的方式构建了这个查询,有什么建议吗
提前谢谢 您应该在查询中直接使用
Date
对象。试试这个:
var query={start\u time:{$gte:startDate,$lt:endDate};
看起来你还缺少一个结束语}我有结束语}(我没有把它粘贴在这里)。我试了你的建议,但没有成功。日期对象打印“Sun Jun 22 2014 00:00:00 GMT-0400(EDT)”可能是这个问题吗???日期总是以字符串形式打印到控制台,所以这不是问题。可能是您的日期不正确,数据库没有正确的文档等等。您总是可以硬编码日期来测试查询。e、 g.
var endDate=新日期('6-22-2014')
或任何适合您的情况。