我是一個沒有SQL資料庫的初學者,我怎么能把下面的SQL查詢轉換成Mongodb查詢呢?
select e.empno,sum(f.point)
from employee e, assignment a, finalreport f
where e.empno = a.empno and a.assid = f.assid
group by e.empno
我想獲得分配給員工的任務的總分。有三個表employee、assignment和finalreport。分數在最終報告表中。
uj5u.com熱心網友回復:
你可以用幾種不同的方法來完成這個任務,我將展示最簡單的方法,使用$lookup,這是Mongo相當于sql的join(或者說是一個 "左外連接").
db.employees.aggregation([
{
"$lookup"/span>: {
"from": "assignment",
"localField": "empno",
"foreignField": "empno",
"as": "assignments".
}
},
{
"$lookup": {
"from": "finalreport",
"localField": "assignments.assid",
"foreignField": "assid",
"as": "reports", "as".
}
},
{
$project: {
點。{
$sum: {
$map: {
輸入。"$reports"/span>。
in: "$$this.points".
}
}
},
empno: 1
}
}
])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/319836.html
標籤:
上一篇:教你十秒做出淘寶
