2014-06-05 156 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") 
       } 
     } 
     ) 

和「$和」沒有在這種情況下,爲我工作。