【发布时间】:2016-04-01 05:17:20
【问题描述】:
{
"_id" : ObjectId("56fb04fd2e6bb8bc059287c9"),
"BillNo" : "Bill_001",
"DateP" : "12-12-2015",
"Type" : "Cash",
"Items" : [
{
"id" : NumberInt(1),
"ItemName" : "cement",
"Qty" : "100",
"Rate" : "10",
"Total" : "1000"
},
{
"id" : NumberInt(2),
"ItemName" : "steel",
"Qty" : "10",
"Rate" : "50",
"Total" : "500"
},
{
"id" : NumberInt(3),
"ItemName" : "sand",
"Qty" : "1",
"Rate" : "1500",
"Total" : "1500"
}
]
}
{
"_id" : ObjectId("56fb05382e6bb8bc059287ca"),
"BillNo" : "Bill_002",
"DateP" : "12-10-2015",
"Type" : "Cash",
"Items" : [
{
"id" : NumberInt(1),
"ItemName" : "Paint",
"Qty" : "50",
"Rate" : "100",
"Total" : "5000"
},
{
"id" : NumberInt(2),
"ItemName" : "Brush",
"Qty" : "5",
"Rate" : "10",
"Total" : "50"
}
]
}
在上面的集合中,将所有购买细节存储在主文档中,并将其项目细节存储为主项目的内部数组。我需要使用 mongodb 得到如下结果;如何从 mongodb 中的内部数组中查找总数。
Bill_001 1500
Bill_002 5050
【问题讨论】:
-
你所有的字符串值。您应该修复它们,因为您不能真正将字符串添加在一起。
-
结果会像 Bill_001 -> 3000, Bill_002 -> 5050
-
如果改成int那么mongo shell会怎么样?
标签: mongodb mongodb-query aggregation-framework