2015-10-26 60 views
5

我目前正在尝试找出一种方法来查找mongoDB中最近的日期,以便找到我正在寻找的日期。在一个查询中找到最接近的日期

目前我通过使用2个查询解决了这个问题。一个使用$ gte并限制(1)查找下一个较大的日期,然后查找$ lte - limit(1)以查看是否有更接近的可能更低。

我想知道,如果可能有一种方法可以在一个查询中找到最接近的日期,但无法找到关于此事的任何内容。

希望你能帮助我,或者至少告诉我这是做到这一点的唯一方法。

db.collection.find({"time":{$gte: isoDate}}).sort({"time":1}).limit(1) 
db.collection.find({"time":{$lte: isoDate}}).sort({"time":-1}).limit(1) 

但是我正在寻找一种方式来做到这一点在一个查询,所以我不必须减去的结果中找到最接近的一个。

+0

您可以编辑您的问题,包括你已经尝试了一些样本数据,预计输出和查询支持的格式相同? – chridam

回答

4

检查这一项

db.collection.find({"time":{$gte: isoDate,$lt: isoDate}}).sort({"time":1}).limit(1) 

请使用什么MongoDB的像followiong

ISODate("2015-10-26T00:00:00.000Z") 
相关问题