【发布时间】:2019-08-02 17:32:31
【问题描述】:
我有一组日志文件,我需要找出系统在给定日期范围内显示“连接时超出平均限制...”消息的次数,并显示所有系统的结果给定日期范围以降序排列
目前我在 mongodb 集合中的文档看起来像
{'computerName':'APOOUTRDFG',
'datetime': 11/27/2019 10:45:23.123
'message': 'Average limit ....'
}
因此,我尝试通过首先匹配消息字符串然后按计算机名称对它们进行分组来过滤我的结果,但这无济于事
db.collection.aggregate([
{ "$match": {
'message': re.compile(r".*Average limit.*")
},
{ "$group": {
"_id": { "$toLower": "$computerName" },
"count": { "$sum": 1 }
} }
])
预期结果
Date : 01-01-2012 to 31-01-2012
Computer Name Number of Average limit exceeded
computername1 120
computername2 83
computername3 34
【问题讨论】:
标签: python-3.x mongodb pymongo