繁体   English   中英

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

[英]How to insert datetime string into Mongodb as ISODate using pymongo

如何将像"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

使用dateutil dateutil.parser.parse("2017-10-13T10:53:53.000Z")将返回datetime.datetime(2017, 10, 13, 10, 53, 53, tzinfo=tzutc())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM