0
該mysql查詢的mongoDB查詢如何在mongoDB中使用join存在我正面臨在mysql中編寫的問題?如何在mongoDB ..中編寫連接查詢?
SELECT t.uid, count(j.job_id) AS x
FROM verify AS t
LEFT JOIN jobs AS j
ON t.uid = j.job_id
該mysql查詢的mongoDB查詢如何在mongoDB中使用join存在我正面臨在mysql中編寫的問題?如何在mongoDB ..中編寫連接查詢?
SELECT t.uid, count(j.job_id) AS x
FROM verify AS t
LEFT JOIN jobs AS j
ON t.uid = j.job_id
這就像下面通過使用聚合框架與$project
& $lookup
管道:
db.collection1.aggregation[{
$project: {
'uid': 1,
"x": {
"$size": "job_id"
}
},
$lookup: {
from: 'collection2',
localField: 'uid',
foreignField: 'job_id',
as: 'j'
}
}]
你可能會達到了接近與聚合管道和'$ lookup'運營商。但是,一般來說,聯合和複雜的報告並不是mongodb的特長。 –
問題是不正確的,如果'uid' ='job_id'和它'一對一'關係,那麼爲什麼要加入並得到計數?爲什麼不簡單地計數? – num8er
在沒有sql的世界裏沒有連接,因爲大部分時間數據都保存在同一個文檔中(json,bson對象)。並且即使它們分開保存 - 取決於db ODM,也有「填充」(或類似)方法 – num8er