我刚刚读到了有关猫鼬聚合的信息,这似乎是非常有用的方法,我只是自己进行了测试,所以这是数据库中的数据:
[
{
product: "chanchuris arayi",
myidveli: "lg",
pasi: 12
},
{
product: "kalbasi",
myidveli: "maiko",
pasi: 10
},
{
product: "chanchuris arayi",
myidveli: "zaza",
pasi: 12
},
{
product: "sulguni",
myidveli: "shotiko",
pasi: 7
},
{
product: "kalbasi",
myidveli: "lg",
pasi: 10
}
]
这是我的代码
db.collection.aggregate([
{
$match: {}
},
{
$group: {
_id: "$_id",
product: "$product",
pasi: {
"$sum": "$pasi"
}
}
}
])
并给我错误:该字段必须是一个累加器对象,当我在_id字段中键入$ product时,它可以按我的方式工作,但不是这样,所以我很困惑,有人可以向我解释一下聚合工作正常,我的代码有什么问题?
谢谢!
答案 0 :(得分:0)
我希望这是您要查询的查询:
db.collection.aggregate( [{
$unwind: { path: "$test"} }, {
$group: { "_id": "$test.product",
"pasi": { $sum: "$test.pasi" }} }] )