2016-08-03 59 views
1

我正在尋找使用python腳本在最近10分鐘內從MongoDB查找日誌。我使用MongoDB中查詢越來越空的響應:查詢在MongoDB中收集最近10分鐘的日誌

db.alerts.find({ 
    "alerted_at": { 
     "$gte": ISODate("2016-08-02T23:50:21.774531") 
    },{ "$lt": ISODate("2016-08-02T23:55:21.774531") } 
}) 

回答

1

你正在使用的查詢是錯誤的,$lt運營商需要將相同的文檔爲$gt內:

db.alerts.find({ 
    "alerted_at": { 
     "$gte": ISODate("2016-08-02T23:50:21.774531") 
     "$lt": ISODate("2016-08-02T23:55:21.774531") 
    } 
}) 

對於一個真正的查詢,它從MongoDB查找最近10分鐘的日誌:

import datetime 
start = datetime.datetime.now() - datetime.timedelta(minutes=10) 
end = datetime.datetime.now() 
db.alerts.find({ "alerted_at": { "$gt": start, "$lte": end } }) 
+0

我已經使用了相同的功能,但是mongodb給出的時間大於定義的時間。我需要收集最近10分鐘的日誌。例如時間T-1到T-2之間的日誌記錄。 – user3688785

+0

「db.alerts.find({」alerts_at「:{」$ gt「:(:():datetime.timedelta(minutes = 5)(」datetime.datetime.now() ))}}「上面提到的查詢爲我工作。 – user3688785