您的位置:首页 > 大数据 > 人工智能

pymongo.errors.OperationFailure:Overflow sort stage buffered data usage exceeds in internal limit

2016-05-20 06:03 525 查看
    用pymongo接口调用find().sort()方法时,出现错误。报错内容为:

>>> pymongo.errors.OperationFailure: database error: Plan executor error during find: Overflow sort stage buffered data usage of 33574037 bytes exceeds internal limit of 33554432 bytes


    这是因为在做sort()时,超过了32MB的in-memory sort。解决方法是可以在mongodb的相应数据库修改该内存上限。

    如,我的原代码是:

>>> client = MongoClient('localhost',27018)
>>> db = client['NetEase']
>>> col = db['comment_content']
>>> for item in col.find().sort('page_index',pymongo.ASCENDING):
...     print item['page_index']


    那么就修改为

>>> mongo --port=27018
>>> use NetEase
>>>db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes: <limit in bytes>})


就好了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mongodb