MongoDB两列之和
我收集了以下文件:MongoDB两列之和,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我收集了以下文件: { "_id" : ObjectId("5785e5649b732ab238cfc519"), "name" : "Apple", "category" : "Fruit", "price" : 100, "discount" : 5 } { "_id" : ObjectId("5785e5709b732ab238cfc51a"), "name" : "Orange", "category" : "Fruit", "price" : 90, "discount" : 5 }
{ "_id" : ObjectId("5785e5649b732ab238cfc519"), "name" : "Apple", "category" : "Fruit", "price" : 100, "discount" : 5 }
{ "_id" : ObjectId("5785e5709b732ab238cfc51a"), "name" : "Orange", "category" : "Fruit", "price" : 90, "discount" : 5 }
{ "_id" : ObjectId("5785e5819b732ab238cfc51b"), "name" : "PineApple", "category" : "Fruit", "price" : 60, "discount" : 2 }
{ "_id" : ObjectId("5785e5969b732ab238cfc51c"), "name" : "Potatto", "category" : "Vegetable", "price" : 10, "discount" : 1 }
{ "_id" : ObjectId("5785e5c39b732ab238cfc51d"), "name" : "Cabbage", "category" : "Vegetable", "price" : 5, "discount" : 1 }
和预期结果
{ "_id" : { "category" : "Vegetable" }, "total" : 15 }
{ "_id" : { "category" : "Vegetable" }, "total" : 265 }
我使用mongoDB查询来查找包含蔬菜类别的合计,如下所示
db.stall.aggregate([{$group: {_id: {category: "Vegetable" }, total: {$sum: "$price"}}}]);
但我得到了以下结果
{ "_id" : { "category" : "Vegetable" }, "total" : 15 }
{ "_id" : { "category" : "Vegetable" }, "total" : 265 }
我应该如何找到蔬菜类别的总计和折扣列的总和。我不确定你的问题是否正确,但这将过滤蔬菜类别的价格总和和折扣总和
db.stall.aggregate([
{
{$match : {category : "Vegetable"}},
{$group : {_id: "$category", sumOfTotal : {$sum : "$price"}, sumOfDiscount : {$sum : "$discount"}}}
}
])
我不确定你的问题是否正确,但这将过滤蔬菜类别的价格总和和折扣总和
db.stall.aggregate([
{
{$match : {category : "Vegetable"}},
{$group : {_id: "$category", sumOfTotal : {$sum : "$price"}, sumOfDiscount : {$sum : "$discount"}}}
}
])
您应该考虑用预期的输出而不是表来显示示例文档。是的,我肯定会更新。您应该考虑用预期的输出而不是表来显示示例文档。当然,我会更新谭,谢谢您的回答。我收到以下错误消息SyntaxError:意外令牌{谢谢Tan,工作正常:)group by缺少“_id”。嗨,Tan,谢谢你的回答。我收到以下错误消息SyntaxError:意外令牌{谢谢Tan,工作正常:)group by缺少“_id”。