2015-10-26 37 views
5

私は現在、mongoDBのエントリの最も近い日付を探している方法を見つけようとしています。1つのクエリで最も近い日付を見つける

現在、私は2つのクエリを使用して問題を解決しました。 1つは$ gteとlimit(1)を使って次に大きな日付を探し、$ lte - limit(1)を使ってそれが近いかどうかを調べます。

ただ1つのクエリで最も近い日付を見つける方法があるかもしれないが、それについて何かを見つけることができなかったのかと疑問に思っていました。

あなたは私にこれを手伝ってもらえますか、それともこれが唯一の方法であるかを教えてください。

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

しかし、私は1つのクエリでこれを行う方法を探していますので、最も近いものを見つけるために結果を差し引く必要はありません。

+0

をfollowiongのようなサポートをMongoDBはどのような同じフォーマットを使用してください? – chridam

答えて

4

チェックこの1

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

あなたは試してみましたいくつかのサンプルデータを、期待される出力およびクエリを含めるようにあなたの質問を編集することができ

ISODate("2015-10-26T00:00:00.000Z") 
関連する問題