要按照最近1年(365天)的聚合数据,可以使用以下代码示例:
import datetime
from pymongo import MongoClient
# 连接 MongoDB 数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['your_database_name']
collection = db['your_collection_name']
# 获取当前日期
current_date = datetime.datetime.now()
# 计算过去一年的起始日期
start_date = current_date - datetime.timedelta(days=365)
# 构建查询条件
query = {
'date': {'$gte': start_date, '$lt': current_date}
}
# 聚合查询,统计数据
pipeline = [
{'$match': query},
{'$group': {'_id': '$category', 'count': {'$sum': 1}}}
]
result = collection.aggregate(pipeline)
# 打印结果
for doc in result:
print(doc)
上述代码使用了 pymongo
库来连接 MongoDB 数据库,并使用了 datetime
模块来计算起始日期和当前日期。然后构建了查询条件和聚合查询的管道,最后通过 aggregate()
方法执行聚合查询,并打印结果。
你需要将代码中的 'your_database_name'
和 'your_collection_name'
替换为你自己的数据库名称和集合名称。另外,根据你的具体需求,你可能需要调整查询条件、聚合管道和打印结果的代码。