将String中的MongoDB日期更新为日期格式

时间:2017-07-09 12:03:21

标签: python mongodb datetime

我重新问这个问题,因为似乎有一些误解。我需要使用Python将我的mongo中的字符串转换为日期格式。我有以下代码:

newest_date = datetime.strptime(r["date"], "%Y-%m-%d").isoformat()

成功创建了以下日期对象(new_date):

2017-01-03T00:00:00

当我尝试:

db.address.update_one({"address": "1234", {"$set": {"date" : new_date}})

我在文档中更新了项目,但它仍然是一个字符串,而不是日期。我可以使用以下命令在shell中成功完成:

db.address.find({ "date" : { $type : 2 } } ).forEach(function(element){  element.date = ISODate(element.date); db.address.save(element);})

如何将实际类型更新为日期,因为当我从控制台执行此操作时,我得到输出:

"date": {"$date": "2017-06-28T00:00:00.000Z"

},

1 个答案:

答案 0 :(得分:1)

希望这有助于某人不要犯下我犯的愚蠢错误。确保你没有将.isoformat()附加到像小丑这样的日期时间对象......

newest_date = datetime.strptime(r["date"], "%Y-%m-%d")