MongoDB-来自两个集合的聚合查询

时间:2020-10-02 22:03:43

标签: mongodb lookup aggregation

有两个集合:Employee(_id,..., workplace_id...)Workplace(_id,...,name)

我正在尝试从两个集合中获取统计信息-每个workplace.name的雇员人数。我了解我需要使用管道,聚合,总和,如下所示,但不能加入它们:

query_result=db.employee.aggregate(
[
   { "$group" : { "_id": "$workplace_id", "count": { "$sum": 1}}},
   { "$sort": { "count": -1 }} 
]);
pd.DataFrame(list(query_result))

通过workshop_id获取我的员工人数

然后我加入他们:

pipeline = 
[  
   {
      "$lookup": 
       { 
           "from": "workplace",
           "localField":"workplace_id",
           "foreignField":"_id", 
           "as": "workplace" 
       } 
   } 
]; 

并尝试输出为:

query_result=db.employee.aggregate(
    pipeline(
    [
        { 
            "$group" : { "_id": "$workplace_id", "count": {"$sum": 1 } }
        },
        {
            "$sort": { "count": -1 }
        }
    ])
);
                   
pd.DataFrame(query_result);        

但是失败了:((有人可以帮忙吗?我是新手)

0 个答案:

没有答案