2014-06-05 54 views
0

我正在使用Python。我发送datetime.utcnow()到我的MongoDB。 什么是错我的代码:MongoDB查询不返回预期结果

deltaTime = timedelta(minutes=1) 

s.find({"status" : "pending", 
     "$and" : [{"time" : {"$lt" : datetime.utcnow()}}, 
        {"time" : {"$gt" : datetime.utcnow() - deltaTime }} 
       ] 
     }, page=0 , perpage=15) 

,但它不工作。

和MongoDB中相同的查询无法正常工作或:

db.s.find(
{"status" : "pending" , 
     "$and" : 
       [ 
        {"time" : {"$lt" : ISODate("2014-06-05 06:59:31.442Z") } } 
        , 
        {"time" : {"$gt" : ISODate("2014-06-05 05:59:31.442Z") } } 
       ] 
} 

MongoDB中说,“脚本成功执行,但没有结果,以示” 我有记录之间!但没有结果,我也尝试了没有ISODate()的MongoDB查询,但仍然没有结果!

+0

你可以显示你如何导入日期时间?像'import datetime'或'from datetime import *'或者是什么? – Paul

+0

from datetime导入日期时间,timedelta – Adel

+0

根据示例:http://api.mongodb.org/python/current/tutorial.html#documents它使用datetime包内的datetime类:'datetime.datetime' – Sammaye

回答

0

我已经通过下面的查询来解决这个问题:

db.s.find(
     { 
     "status" : "Pending" 
     , 
     "time" : { 
        "$gt" : ISODate("2014-06-05 06:01:29.397069") , 
        "$lt" : ISODate("2014-06-05 07:01:29.397069") 
       } 
     } 
     ) 

和“$和”没有在这种情况下,为我工作。