【发布时间】:2018-10-09 01:48:00
【问题描述】:
我有 3 个收藏:
- 职位:
- 公司:
- 行业:
我需要在一个 API 中返回以下结果:
[{
position_id: 1,
position_name: 'position 1',
company: {
company_id: 1,
company_name: 'company 1',
industry: {
industry_id: 1,
industry_name: 'industry 1',
}
}
}, {
position_id: 2,
posiiton_name: 'position 2',
company: {
company_id: 2,
company_name: 'company 2',
industry: {
industry_id: 2,
industry_name: 'industry 2',
}
}
}]
所以我能想到的管道部分的代码如下:
const pipelines = [{
$lookup: {
from: 'companies',
localField: 'company_id',
foreignField: 'company_id',
as: 'company',
$lookup: {
from: 'industries',
localField: 'industry_id',
foreignField: 'industry_id',
as: 'industry'
}
}
}]
return positions.aggregate(pipelines);
但这会引发一些错误。那么在 mongodb 搜索中进行嵌套 $lookup 的正确方法是什么?
提前致谢!
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework