2016-07-09 4 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

Я не совсем уверен, что типа вашего start и end ВАРА соответствует вашему вопросу, но попробуйте при установке их datetime экземпляры, как показано ниже:

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

Я отредактировал вопрос для лучшего понимания. – kra

+0

Я только что установил тестовую базу данных с некоторыми образцовыми документами с датой и временем, подобным вашему, и спросил его с успехом. Не могли бы вы попробовать collect.find ({}). Count() в вашей функции Processor1 и проверить, возвращает ли она что-то> 0, чтобы проверить, что вы нацеливаете правильную коллекцию? – DAXaholic

+0

Решена ли ваша проблема? – DAXaholic

Смежные вопросы