2016-07-09 88 views
1

我想統計一段時間後存儲在MongoDB中的對象的數量。日期以以下格式存儲在MongoDB中。按日期和時間查詢存儲在MongoDB中的數據

"clickTime" : ISODate("2016-07-09T07:17:29.932Z") 

我寫了下面的代碼來計算的對象,但它給我_count = 0,而應該給我_count = 1。我在Django

def Count(request): 
    time_from = datetime.time(0, 0, 0) 

    ## today's count 
    d1 = datetime.date.today() 
    start1 = datetime.datetime.combine(d1,time_from) 
    end1 = datetime.datetime.now() 
    count1 = utils.Processor1(collect,start1,end1) 

這樣做,這是我的utils的文件

def Processor1(collect,start,end): 
    _count = collect.find({"clickTime":{"$gte":start,"$lte":end}}).count() 
    return _count 

回答

1

我不太清楚是什麼類型的startend瓦爾根據您的問題,但將它們設置爲當嘗試datetime例如:

start = datetime.datetime(2016, 7, 9, 0, 0, 0, 0) 
end = datetime.datetime(2016, 7, 9, 12, 21, 25, 366) 
+0

我編輯了這個問題,以便更好地理解。 – kra

+0

我剛剛設置了一個測試數據庫,其中包含一些與您的日期和時間類似的示例文檔,並且查詢成功。你可以在你的Processor1函數中嘗試collect.find({})。count(),並檢查它是否返回大於0的值來檢查你是否定位了正確的集合? – DAXaholic

+0

你的問題解決了嗎? – DAXaholic

相關問題