2016-07-09 12 views
1

Ich möchte die Anzahl der Objekte zählen, die nach einer bestimmten Zeit in der MongoDB gespeichert wurden. Das Datum wird in MongoDB im folgenden Format gespeichert.Abfrage von in MongoDB gespeicherten Daten nach Datum und Uhrzeit

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

Ich schrieb den folgenden Code, um die Objekte zu zählen, aber es mir _count = 0 schenkt, während es mir _count = 1 geben sollte. Ich tue dies in 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) 

dies mein utils

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

Antwort

1

ich ganz sicher bin nicht von dem, was geben Sie Ihre start und end Vars werden entsprechend Ihrer Frage Datei, aber es versuchen, wenn sie auf Einstellung datetime Instanzen wie unten:

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

Ich habe die Frage zum besseren Verständnis bearbeitet. – kra

+0

Ich habe gerade eine Testdatenbank mit einigen Beispieldokumenten mit einem Datum und einer Uhrzeit wie die Ihre eingerichtet und sie mit Erfolg abgefragt. Könnten Sie collect.find ({}). Count() in Ihrer Processor1-Funktion ausprobieren und prüfen, ob etwas> 0 zurückgegeben wird, nur um zu überprüfen, ob Sie auf die richtige Sammlung ausgerichtet sind? – DAXaholic

+0

Ist Ihr Problem gelöst? – DAXaholic