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

相关问题