• MongoDb 聚合报错


     聚合框架它是数据聚合的一个新框架,其概念类似于数据处理的管道。 每个文档通过一个由多个节点组成的管道,每个节点有自己特殊的功能(分组、过滤等),文档经过管道处理后,最后输出相应的结果。

    管道基本的功能有两个:

    一是对文档进行“过滤”,也就是筛选出符合条件的文档;

    二是对文档进行“变换”,也就是改变文档的输出形式。

    errmsg:Exceeded memory limit for $group,but didn't allow external Sort.Pass allowDiskuse:true

    错误详细信息:

    我这次用的表的数据量是:大约有四百万数据

    我要查的是:用户接受信息最多的前五个用户

    写完分析语句,严格按照语法写的;

    既然出现问题,我们来一下Debug(咱们码农有力量

    如果管道没有给出预期结果,就需要进行调试,调试时,可以先只指定第一个管道操作符,如果这样得到了预期结果,那就再指定第二个管道操作符,以上面的例子说,先试着$project 操作符进行聚合,如果这个操作符结果是有效的,就在添加 $group 操作符,

    如果结果还是有效的,就再添加 $sort,最后再添加 $limit 操作符,这样就可以逐步定位到造成问题的操作符了。

    逐步调试发现没问题 不是语法的错误

    麻蛋,原因是聚合的结果必须要限制在16M以内操作,(mongodb支持的最大影响信息的大小),否则必须放在磁盘中做缓存(allowDiskUse=True)。

    最后把要统计的数据给搞出来了,喜大普奔。。。。

  • 相关阅读:
    硬件加速 Hardware Accelerated [MD]
    Redis 常见面试题(2020最新版)
    1秒时限情况下算法复杂度要求
    linux ikatago-server
    Linux踢出其他正在SSH登陆用户
    多个Git帐号的SSH key切换(不同网站的gitlab&github)
    RTL8201 替换适配国产JL11网卡
    网卡PHY 移植注意事项
    django shell执行命令来批量更新model 数据
    git 设置和取消socks5 代理
  • 原文地址:https://www.cnblogs.com/viaiu/p/4848445.html
Copyright © 2020-2023  润新知