Python 使用聚合时MongoDB缓存或内存泄漏

Python 使用聚合时MongoDB缓存或内存泄漏,python,mongodb,aggregation-framework,Python,Mongodb,Aggregation Framework,mongodb占用的内存太多,我遇到了一个问题,请求后无法释放内存(我认为是缓存,但找不到任何可以帮助我的东西)。我在项目中使用python Flask和mongodb,在初始应用程序内存使用~35kb之后 聚合后约598mb 聚合看起来像这样 aggregate_exp = [ { '$match': { '{}'.format(pattern): {'$regex': value, '$options': 'i'} }

mongodb占用的内存太多,我遇到了一个问题,请求后无法释放内存(我认为是缓存,但找不到任何可以帮助我的东西)。我在项目中使用python Flask和mongodb,在初始应用程序内存使用~35kb之后 聚合后约598mb 聚合看起来像这样

    aggregate_exp = [
    {
        '$match': {
            '{}'.format(pattern): {'$regex': value, '$options': 'i'}
        }
    },
    {
        '$limit': 200
    },
    {
        '$project': {
            '_id': False,
            'value': '${}'.format(pattern)
        }
    },
    {
        '$group': {
            '_id': '$value'
        }
    },
]

感谢您的回答,我希望您能帮助我查找,我也有同样的问题,我知道索引有问题,但为什么mongodb在请求后不释放内存?这不是泄漏,是缓存。MongoDB将最近使用的数据保存在RAM中。所以,如果您已经为查询创建了索引,并且您的工作数据集适合RAM,那么MongoDB将从内存中提供所有查询。