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

MongoDB按grade分组取最大range与平均score、去重genre查询咨询

MongoDB两类查询解决方案

一、按grade分组的聚合查询

报错原因

原有语句的错误有两点:

  • 嵌套字段路径错误:你要取的是info下的range字段,但是语句里写的是$info,实际应该写$info.range
  • 语法错误:$max对应的配置项缺少闭合大括号

正确聚合语句

collection.aggregate([
  {
    $group: {
      _id: "$grade",
      highest_range: { $max: "$info.range" },
      average_score: { $avg: "$score" }
    }
  },
  // 可选:添加以下阶段可以直接输出和你期望格式完全一致的结果
  {
    $project: {
      _id: 0,
      grade: "$_id",
      highest_range: 1,
      average_score: { $round: ["$average_score", 1] } // 保留1位小数,匹配示例输出
    }
  }
])

二、genre字段去重查询

直接调用MongoDB的distinct方法即可,注意嵌套字段路径要写全:

collection.distinct("info.genre")

返回结果为所有info.genre的去重值组成的数组。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:39:05