我的 mongodb 数据库中有订单模式,我想获得从最高到最低排名的畅销产品,这是文档的样子:
因此,可以看出有一个shopping_cart,它是一个可以通过product_name区分的产品数组,它们每个都有数量(价格不相关)。我尝试形成这个查询:
db.orders.aggregate([
{
$project : {
"_id" : 0,
"shopping_cart.product_name" : 1,
"shopping_cart.qty" : 1,
}
}
])
结果我得到了这个:
{ shopping_cart:
[
{ product_name: 'Seven Days', qty: 2 },
{ product_name: 'Cockta 0.33l', qty: 3 },
{ product_name: 'Marbo Chips', qty: 3 },
{ product_name: 'Coca Cola 2l', qty: 1 }
]}
{ shopping_cart:
[
{ product_name: 'Seven Days', qty: 2 },
{ product_name: 'Coca Cola 2l', qty: 1 }
]}
{ shopping_cart:
[
{ product_name: 'Integral Cookie', qty: 4 },
{ product_name: 'Seven Days', qty: 2 },
{ product_name: 'Marbo Chips', qty: 1 },
{ product_name: 'Coca Cola 2l', qty: 4 }
]}
我想得到这样的东西作为输出(我在这里弥补数据):
{ top_selling_products : [
'Integral Cookie','Coca Cola 2l','Marbo Chips''Seven Days'
]}