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

MongoDB中如何获取嵌套数组BASIC内文档的最小quantity值

解决MongoDB嵌套数组分组求最小值的问题

直接用MongoDB的聚合管道就能实现需求,核心是针对每个value下的BASIC数组单独计算最小值,而非全局取最小:

  • 先用$unwind把外层的value数组拆解开,让每个value元素成为独立文档
  • 用$addFields给每个value新增字段,通过$min提取当前value下BASIC数组里quantity的最小值
  • 如果需要恢复原文档的数组结构,再用$group把拆解后的value元素重新组合回去

具体代码示例:

db.legends.aggregate([
  { $unwind: "$value" },
  {
    $addFields: {
      "value.minQuantity": { $min: "$value.BASIC.quantity" }
    }
  },
  {
    $group: {
      _id: "$_id",
      value: { $push: "$value" },
      // 原文档有其他字段的话,用$first保留
      name: { $first: "$name" }
    }
  }
])

这么处理后,每个value对象里都会带上对应的minQuantity,比如meteoEventType为RAIN的那组,就能得到0.01这个预期的最小值。

内容的提问来源于stack exchange,提问作者asant-leitha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:32:36