我如何在 mongoDB 中使用聚合计算推荐数量

How do i count number of referals using aggregation in mongoDB

这是架构:

{
"_id" : ObjectId("54f8d7ad92ccf803008a0e4f"),
"personal" : {
    "name" : "test",
    "placa" : "BBB222"
},
"recruiter" : {
    "user_id" : "541cba6fe4b0288d56081fe2",
    "date" : 1425594285410,
    "name" : "Mario Hart",
    "rol" : "greeter",
    "channel" : "referido",
    "referred" : "VERA"
},

我想创建一个姓名列表,计算每个人的推荐次数。我正在尝试以下方式,但它在 all.This 上不起作用是我编写的代码。

db.drivers.aggregate( {
$group: { _
    id:{"$personal.name",
     "$recruiter.referred"    
     },
        total_recommendations:{ $sum:1}  } 
     }   ])

这不起作用,我无法使该代码起作用。 我所在的服务器 运行 的版本是 2.6.8

你的语法有误。 $ 前缀用于对字段的变量引用,或者在 "key/value" 表示法的 "key" 部分中使用时为 "operators" 保留。当他们只有一个字段时,在分组 _id 中使用 "compound key" 符号的人数也总是令人惊讶:

db.drivers.aggregate([
    { "$group": { _
        "_id": "$recruiter.referred"    
        "total_recommendations":{ "$sum": 1 }
    }} 
])