Solo para agregar algo adicional, el campo _id predeterminado que se crea automáticamente contiene una "marca de tiempo", y puede recuperarlo usando la propiedad generation_time del objeto ObjectId, sin tener que agregar su propio campo, por ejemplo:
from pymongo import MongoClient db = MongoClient()['mydatabase'] db.mycollection.insert_one({'a': 1}) record = db.mycollection.find_one({'a': 1}) print(record.get('_id').generation_time)huellas dactilares:
2021-03-14 17:08:51+00:00Si bien Mongo tiene una marca de tiempo, los documentos dicen lo siguiente:
El tipo de marca de tiempo BSON es para uso interno de MongoDB. En la mayoría de los casos, en el desarrollo de aplicaciones, querrá utilizar el tipo de fecha BSON. Consulte Fecha para obtener más información.
Tenga en cuenta que el uso del tipo de marca de tiempo también puede tener problemas con diferentes soportes de controladores y problemas relacionados con el comportamiento del operador. pymongo usa objetos datetime.datetime para representar fechas y horas en documentos MongoDB. Y como ya está usando datetime , sugeriría simplemente guardarlo como una Date , no como una marca de tiempo.
Si por alguna razón insiste en usar el tipo de timestamp de tiempo, deberá usar el tipo bson.timestamp de la siguiente manera:
from bson.timestamp import Timestamp import datetime as dt timestamp = Timestamp(int(dt.datetime.today().timestamp()), 1)