2016-10-01 65 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