You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Colab中实现MongoDB按出版商分组求和的聚合查询问题

问题解决:MongoDB按出版商分组并求和畅销周数

你的聚合查询返回总和为0的核心原因是字段引用语法错误,MongoDB聚合管道中必须用$字段名的格式来引用文档内的字段,而非直接写字段名字符串。

修正后的代码

Query = collection.aggregate(
    [
      {'$group': {'_id': '$publisher', 'Cantidad_total': { "$sum": '$weeks_on_list' }}}
    ]
)

for elemento in Query:
  pprint.pprint(elemento)

错误细节说明

  • 原代码里_id: 'publisher'是将字符串publisher作为固定分组键,导致所有文档被归为同一组,_id固定为publisher。
  • $sum: 'weeks_on_list'是把字符串weeks_on_list当作求和值,MongoDB会将非数值类型的求和项判定为0,最终总和自然为0。
  • 修正后用$publisher和$weeks_on_list,才能正确关联文档中对应的字段,实现按出版商分组、对每组weeks_on_list字段值求和的需求。

你提到的Colab中运算符需用"$lt"的情况,本质是Python字符串中需要用引号包裹MongoDB操作符(避免被Python解析为变量),但聚合管道里的字段引用$字段名语法是通用规则,不受运行环境影响。

内容的提问来源于stack exchange,提问作者Francisca Aguayo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 10:56:06