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

MongoDB如何构造查询获取按销量从高到低排序的畅销商品列表

MongoDB 畅销商品列表查询实现

你之前的查询仅完成了字段投影,未实现数组拆分、销量汇总、排序和结果格式化的逻辑,可使用如下聚合查询实现需求:

db.orders.aggregate([
  // 拆分shopping_cart数组,将每个商品转为独立文档
  { $unwind: "$shopping_cart" },
  // 按商品名称分组,累加计算每个商品的总销量
  {
    $group: {
      _id: "$shopping_cart.product_name",
      total_sold: { $sum: "$shopping_cart.qty" }
    }
  },
  // 按总销量从高到低排序,同销量场景可自定义补充第二排序字段
  { $sort: { total_sold: -1 } },
  // 将排序后的商品名聚合为统一数组,输出指定格式
  {
    $group: {
      _id: null,
      top_selling_products: { $push: "$_id" }
    }
  },
  // 移除结果中不需要的默认_id字段
  { $project: { _id: 0 } }
])

如果需要限制返回的Top商品数量,可以在排序步骤后添加{ $limit: N }阶段,N为你需要的商品数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:18:04