web-dev-qa-db-ja.com

Mongoシェルでの過去24時間の日付範囲クエリ

MongoDBデータベースプロファイラーから結果を収集するcronジョブを設定しています。 24時間以内に結果を収集したいのですが。 javascriptを指定してmongoコマンドを実行する予定です。

質問はMongo Shellで、24時間前の日付範囲を検索するクエリを作成するにはどうすればよいですか?といった:

db.system.profile.find({
    "timestamp" : {
        $lte : <current date & time>,
        $gt : <date & time 24 hrs ago>
    }
})
15
Howard Lee

ここで答えが見つかりました: https://stackoverflow.com/questions/1296358/subtract-days-from-a-date-in-javascript

db.system.profile.find({ 
  "timestamp" : { 
    $lt: new Date(), 
    $gte: new Date(new Date().setDate(new Date().getDate()-1))
  }   
})
33
Howard Lee
db.system.profile.find({ 
 "timestamp" : 
    {     
        $gte:   new Date(new Date().setHours(00,00,00)) ,     
        $lt :  new Date(new Date().setHours(23,59,59)) 
   } 
})
4
Thxer
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )
1