Python 中如何操作 MongoDB 中的时间戳数据类型

2023-04-15 00:00:00 操作 时间 数据类型

在 Python 中操作 MongoDB 中的时间戳数据类型需要使用 PyMongo 库,以下是具体步骤:

  1. 连接 MongoDB 数据库
from pymongo import MongoClient

client = MongoClient('localhost', 27017)

# 连接指定数据库
db = client.test_db
  1. 插入时间戳数据
import datetime

now = datetime.datetime.utcnow()
db.test_collection.insert_one({'timestamp': now})
  1. 查询时间戳数据
import pprint

cursor = db.test_collection.find({'timestamp': {'$exists': True}})
for document in cursor:
    pprint.pprint(document)
  1. 使用日期函数查询时间戳
# 查询最近一周的数据
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)
  1. 使用字符串进行时间戳查询

时间戳格式为 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 标准格式。

相关文章