Python 中如何操作 MongoDB 中的时间戳数据类型
在 Python 中操作 MongoDB 中的时间戳数据类型需要使用 PyMongo 库,以下是具体步骤:
- 连接 MongoDB 数据库
from pymongo import MongoClient client = MongoClient('localhost', 27017) # 连接指定数据库 db = client.test_db
- 插入时间戳数据
import datetime now = datetime.datetime.utcnow() db.test_collection.insert_one({'timestamp': now})
- 查询时间戳数据
import pprint cursor = db.test_collection.find({'timestamp': {'$exists': True}}) for document in cursor: pprint.pprint(document)
- 使用日期函数查询时间戳
# 查询最近一周的数据 start_week = datetime.datetime.utcnow() - datetime.timedelta(days=7) query = {'timestamp': {'$gte': start_week}} cursor = db.test_collection.find(query) for document in cursor: pprint.pprint(document)
- 使用字符串进行时间戳查询
时间戳格式为 ISO 8601 标准格式,类似于: 2022-03-16T08:07:54.029Z,可以直接使用字符串进行查询。
query = {'timestamp': {'$gte': '2022-03-16T00:00:00.000Z'}} cursor = db.test_collection.find(query) for document in cursor: pprint.pprint(document)
注意事项:
- 在查询时间戳时,需要使用日期函数。
- 时间戳以 UTC 时间格式存储,查询时需考虑时区问题。
- 时间戳的字符串格式必须符合 ISO 8601 标准格式。
相关文章