如何使用pymongo将日期时间字符串作为ISODate插入Mongodb

如何将这个“2017-10-13T10:53:53.000Z”的日期时间字符串作为ISODate插入到mongo db中?
插入时,我在mongodb中得到一个字符串:
 datetime.strptime(“2017-10-13T10:53:53.000Z”,“%Y-%m-%dT%H:%M:%S.000Z”)

解决方法:

这对我有用,你会得到不同的结果吗?

from pymongo.mongo_client import MongoClient
import datetime

d = datetime.datetime.strptime("2017-10-13T10:53:53.000Z", "%Y-%m-%dT%H:%M:%S.000Z")

with MongoClient() as mongo:
    db = mongo.get_database("test")
    db['dates'].insert({"date" : d})

入住mongo:

> use test
switched to db test
> db.dates.findOne()
{
    "_id" : ObjectId("589307d7cfd6c908d4b677d6"),
    "date" : ISODate("2017-10-13T10:53:53Z")
}

更新:如评论所述,如果您得到“时间数据与格式不匹配”​​错误,请尝试更通用的格式字符串,例如:%Y-%m-%dT%H:%M:%S.%fZ

上一篇:python-Pymongo UUID搜索不返回肯定存在的文档


下一篇:python-将$cond语句与$project一起使用并在PyMongo中聚合