当我在MongoDB Compass中运行以下查询时,我能够获得所需的文档:
{"save_date" : { "$gte" : new Date("2019-02-25T08:01:59"),"$lte":new Date("2019-02-25T08:02:59")}}
但是当我使用pymongo时,我得到了0个文档,我一直在以下2个版本中使用它们,但是它们都没有给我想要的数据,有什么想法吗?
connection = MongoDbClient("With all the connection parameters")
start = datetime.datetime.strptime(start_date, '%m-%d-%Y %H:%M:%S')
end = datetime.datetime.strptime(end_date, '%m-%d-%Y %H:%M:%S')
connection.database.collection.find({ "save_date": {"$gte" : start, "$lte": end}}).count()
返回了0个文档
以下版本也返回了0个文档
connection.database.collection.find({ "save_date": {"$gte" : datetime.datetime(2019,2,25,8,1,59), "$lte": datetime.datetime(2019,2,25,8,2,59)}}).count()
答案 0 :(得分:0)
我猜发现了问题。似乎我将所有日期作为本地数据和时间传递,而该日期范围内没有文档,因此返回了0个文档。现在,我已经将本地日期转换为UTC日期,并且在传递给pymongo之前非常有效,并获得了我的文档。
local_start="2019-02-25 08:01:59"
start = time.strftime("%Y-%m-%d %H:%M:%S",
time.gmtime(time.mktime(time.strptime(local_start,
"%Y-%m-%d %H:%M:%S"))))