将 MongoDB 日期以字符串格式更新为日期格式



我再次问这个问题,因为似乎有一些误解。 我需要使用 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}})

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

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"

},

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

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

最新更新