【发布时间】:2017-11-09 03:21:26
【问题描述】:
我有两个收藏
1.产品集合==>
/* 1 */
{
"_id" : 154,
"name" : "Chocolate Heaven",
"price" : 7
}
/* 2 */
{
"_id" : 155,
"name" : "Tasty Lemons",
"price" : 8
}
/* 3 */
{
"_id" : 156,
"name" : "Vanilla Dreams",
"price" : 9
}
2.订单集合==>
/* 1 */
{
"_id" : 1,
"product_id" : 154,
"quantity" : 10
}
/* 2 */
{
"_id" : 2,
"product_id" : 155,
"quantity" : 3
}
/* 3 */
{
"_id" : 3,
"product_id" : 156,
"quantity" : 6
}
/* 4 */
{
"_id" : 4,
"product_id" : 154,
"quantity" : 1
}
我期待一个产品的输出,使用 mongodb 的总价格是多少
156 香草梦 9 6 54
db.getCollection('order').aggregate([
{$group : {_id :{ product_id : "$product_id"}, sellCount : { $sum : "$quantity"}}},
{$lookup : { from : 'product',localField : '_id.product_id' , foreignField :'_id',as: 'prodDetails' }},
{$match: {prodDetails: {$ne: []}}}
]);
- 你能帮我找出正确的查询吗?
- 如何为此输出创建视图
【问题讨论】:
标签: mongodb aggregation-framework