¿Cómo insertar una cadena de fecha y hora como esta "2017-10-13T10:53:53.000Z" en mongo db como ISODate? Obtengo una cadena en mongodb cuando inserto: datetime.strptime("2017-10-13T10:53:53.000Z", "%Y-%m-%dT%H:%M:%S.000Z")
Esto funciona para mí:
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})Comprobar en mongo:
> use test switched to db test > db.dates.findOne() { "_id" : ObjectId("589307d7cfd6c908d4b677d6"), "date" : ISODate("2017-10-13T10:53:53Z") } ACTUALIZACIÓN : como se comentó, si obtiene un error de "los datos de tiempo no coinciden con el formato", intente una cadena de formato más general como: %Y-%m-%dT%H:%M:%S.%fZ
use dateutil dateutil.parser.parse("2017-10-13T10:53:53.000Z") devolverá datetime.datetime(2017, 10, 13, 10, 53, 53, tzinfo=tzutc())