Node.js mongodb-如何在聚合中的另一个查找中访问查找结果?

Node.js mongodb-如何在聚合中的另一个查找中访问查找结果?,node.js,mongodb,aggregation-framework,Node.js,Mongodb,Aggregation Framework,我正在尝试根据以前的查找在查找中搜索,但没有成功 我得到了我应该得到的所有结果,但office总是返回一个空数组 我错过了什么 查询[2]={ $lookup:{ 发件人:用户, let:{sales_agent:$sales_agent}, 管道:[ {$match:{$expr:{$eq:['$\u id','$$sales\u agent']}}, {$project:{{u id:1,用户名:1,办公室:1}}, ], as:销售代理 } }; 查询[3]={ $lookup:{ 发件

我正在尝试根据以前的查找在查找中搜索,但没有成功

我得到了我应该得到的所有结果,但office总是返回一个空数组 我错过了什么

查询[2]={ $lookup:{ 发件人:用户, let:{sales_agent:$sales_agent}, 管道:[ {$match:{$expr:{$eq:['$\u id','$$sales\u agent']}}, {$project:{{u id:1,用户名:1,办公室:1}}, ], as:销售代理 } }; 查询[3]={ $lookup:{ 发件人:办公室, let:{office:$sales_agent.0.office},//此值应来自上一次查找 管道:[ {$match:{$expr:{$eq:['$\u id','$$office']}}, {$project:{{u id:1,city:1,}, ], 助理秘书长:办公室 } }; 使用$arrayElemAt从上一个查找数组访问元素

试一试

&

或者在一次修改中

let: {office: {$let:{vars:{elem:{$arrayElemAt:["$sales_agent", 0]}}, in:"$$elem.office"}}}

如果您能向我们展示上述集合的模式就太好了,如果您能展示一些具有预期输出的示例输入数据就更好了。这将帮助您获得高质量的答案,而无需进一步澄清您的问题。请尝试让:{elem:{$arrayElemAt:[$sales\u agent,0]}和{$match:{$expr:{$eq:['$\u id','$$elem.office']}在第二次查找中。@Veeram成功了!!!!!谢谢把你的评论作为回答,这样我就可以接受了。谢谢:
{$match: {$expr: {$eq: ['$_id', '$$elem.office']}}}
let: {office: {$let:{vars:{elem:{$arrayElemAt:["$sales_agent", 0]}}, in:"$$elem.office"}}}