2014-06-05 4 views
0

저는 파이썬을 사용하고 있습니다. 나는 내 MongoDB에 datetime.utcnow()를 보낸다. 내 코드에 문제가 있습니다 무엇 :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

datetime을 가져 오는 방법을 보여줄 수 있습니까? 'import datetime'이나'from datetime import *'또는 그냥 뭐라구? – Paul

+0

from datetime import 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") 
       } 
     } 
     ) 

하고 "$와는"이 경우에 나를 위해 일하지 않았습니다.

관련 문제