2015-10-26 59 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") 
相關問題