要创建一个ISODate对象,您可以使用datetime模块来生成一个符合ISO 8601标准的日期时间字符串,然后将其传递给pymongo的fromisoformat方法。以下是一个示例代码:
from datetime import datetime
import pymongo
# 生成一个符合ISO 8601标准的日期时间字符串
iso_date_str = datetime.utcnow().isoformat()
# 使用pymongo的fromisoformat方法创建ISODate对象
iso_date = pymongo.fromisoformat(iso_date_str)
print(iso_date)
请注意,这个方法在Python 3.7及以上版本中可用。如果您使用的是旧版本的Python,可以使用第三方库如backports.datetime_fromisoformat
来实现相同的功能。
另外,如果您只是想在MongoDB中插入当前时间,而不是创建一个ISODate对象,您可以使用MongoDB的$currentDate
运算符来实现。以下是一个示例代码:
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')
db = client['test']
collection = db['your_collection']
# 使用$pcurrentDate运算符插入当前时间
collection.insert_one({ 'created_at': { '$currentDate': { '$type': 'date' }}})
# 检索插入的文档
document = collection.find_one()
print(document['created_at'])
这将在指定的字段中插入一个当前时间的ISODate对象。