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