如何计算MongoDB的总销售额,但产品价格数据来自不同的集合

时间:2018-04-09 08:38:42

标签: mongodb

我在MongoDB,销售和产品中有2个收藏

Here is the "sales" collection

And here is the "product" collection

请帮我查询计算总收入/销售额:
1. Outlet-A发生的总收入 2.仅在2018年发生的总收入。

我很困惑,因为产品价格数据在“产品”集合中提供,而销售数据在“销售”集合中。
我希望你能帮助我解决这个问题。
非常感谢你。

1 个答案:

答案 0 :(得分:0)

您可以使用$ lookup连接两个集合:

示例:

db.sales.aggregate([
   {
     $match:{
         Outlet_name: "Outlet-A",
         Sales_date: {$gte: startDate,$lte: endDate}
       }
  },
  {
    $lookup:{
        from:"product",
        localField:"Product_name",
        foreignField: "Product_name",
         as: "products"
    }
  },
  {
      $unwind:"$products"
  },
  {
      $group:{_id:null, totalSales:{$sum:"$products.Product_price"}}
  }
])