【发布时间】:2017-07-09 21:13:02
【问题描述】:
我重新问这个问题,因为似乎有一些误解。我需要使用 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"
},
【问题讨论】:
-
是的。只需提供
datetime并让司机完成其余的工作。您是将其转换为字符串的人。所以不要那样做,而是:new_date = datetime.strptime(r["date"], "%Y-%m-%d")是.isoformat()使它成为一个字符串。所以不要添加那部分。 -
天哪,我真是个白痴。非常感谢你..现在完美无缺。您要回复作为答案,我会正确回答吗?