2016-10-01 69 views
1

我似乎無法查詢記錄並獲得我期望的結果。比如我在尋找MongoDB和pymongo中處理日期的時間

MongoDB中,我有以下日期指定
today = datetime.datetime.today() 
past = today + timedelta(days=-200) 
results = mongo.stuff.find({"date_added": {"gt": past}}, {"id":1}) 

"date_added": { 
     "$date": "2016-04-19T18:47:54.101Z" 
    }, 

但我沒有得到任何結果!這是下到MongoDB日期出現的時區,這是搞砸了。

回答

1

這僅僅是一個打字錯誤:

嘗試用下面的代碼:

results = mongo.stuff.find({"date_added": {"$gt": past}}, {"id":1}) 

你忘了在$ GT $符號。

+0

啊是的!我一直都在! – disruptive

1

使用意識到的日期時間對象(帶時區信息)。

# E.g. with UTC timezone : 
import pytz 
import datetime 

today = datetime.datetime.today() 
past = today + timedelta(days=-200) 

pytc.utc.localize(past) 

results = mongo.stuff.find({"date_added": {"gt": past}}, {"id":1}) 

要使用不同的時區來定位,嘗試像pytz.timezone('US/Mountain')

附:你需要pip install pytz

+0

我確實嘗試過 - 任何變體 - 但可悲的是沒有工作。 – disruptive