Mongodb 按当前日期进行Mongoose查询

Mongodb 按当前日期进行Mongoose查询,mongodb,express,mongoose,Mongodb,Express,Mongoose,所以我有一个猫鼬收藏。此集合中有一个day属性 假设我有3个文档: {day: "2017-07-16T17:00:00.000Z"} {day: "2017-07-17T17:00:00.000Z"} {day: "2017-07-18T17:00:00.000Z"} 每个日期都有硬编码的17:00时间。将此视为开始时间< /强> ./p> 假设当前日期为2017年7月17日,时间为16小时。由于时间关系,我需要返回日期为16日的文件。 下一个一小时后开始,一小时后我将返回17号 我试过:

所以我有一个猫鼬收藏。此集合中有一个day属性

假设我有3个文档:

{day: "2017-07-16T17:00:00.000Z"}
{day: "2017-07-17T17:00:00.000Z"}
{day: "2017-07-18T17:00:00.000Z"}
每个日期都有硬编码的17:00时间。将此视为<强>开始时间< /强> ./p> 假设当前日期为2017年7月17日,时间为16小时。由于时间关系,我需要返回日期为16日的文件。 下一个一小时后开始,一小时后我将返回17号

我试过:

Table.find({ day: { $lt: Date.now() } })
但这在18日仍然返回16日


如何编写此查询以使其返回当前处于“活动”状态的文档?

它应该可以工作
Table.find({day:{$lt:Date.now()}})
。。。你的day字段是一个字符串?它不是字符串,它是date对象,当我把它拉出来时,它被解析为ISOString。还有,就像我说的,这不起作用,因为在18号,它仍然返回16号,它应该返回17号?是的,但这会返回2份文件,我只需要最后一份?如果用户输入的内容不按顺序排列,则会出现问题?您可以放置
$sort
$limit
以仅获取最后一个。。。如果用户输入的内容不符合顺序,这意味着什么?