如何使用日期进行查询

时间:2014-07-21 20:55:32

标签: 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, 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);

当我打印"查询"它看起来不错,但我根本没有得到任何结果,我将相同的信息直接放在数据库上,我得到了预期的结果。好像我以错误的方式构建查询,任何建议?????

提前感谢!

1 个答案:

答案 0 :(得分:2)

您应该在查询中直接使用Date个对象。试试这个:

var query = {start_time: {$gte: startDate, $lt: endDate}};

您似乎错过了结束}