我希望通过日期范围找到特定文档(beginDate
应该更大或等于 - 并且closeDate
应该更小或等于当前日期)。
该文件如下:
{ "beginDate" : ISODate("2014-11-03T23:00:00Z"),
"closeDate" : ISODate("2014-11-10T23:00:00Z"),
"desc" : "Test",
"status" : "ok",
"playerId" : "ZLkQzaY7DDvwL8sRj",
"_id" : "kozi9eHcLYa2LbWDG" }
我的查询如下:
var doc = TestData.findOne({
playerId: player._id,
beginDate: { $gte: new Date(new Date().toISOString()) },
closeDate: { $lte: new Date(new Date().toISOString()) }
});
不幸的是,这不起作用。我该如何解决? 任何帮助将不胜感激。
答案 0 :(得分:0)
您在比较中得到了倒退的逻辑,因此您需要交换$lte
和$gte
用法。您希望找到beginDate
的值小于或等于当前时间的文档,而closeDate
的值大于或等于< / em>当前时间。您也可以使用new Date()
来获取当前时间。
var doc = TestData.findOne({
playerId: player._id,
beginDate: { $lte: new Date() },
closeDate: { $gte: new Date() }
});