繁体   English   中英

按 $project 字段聚合和 $lookup

[英]Aggregate and $lookup by $project field

我试图聚合我的用户集合并$project出我需要的字段。 然后我想在$lookup设置 let 变量,以便能够使用该变量来查找匹配的文档。

我想这样做,因为我将通过变量进行许多$lookups

但是我无法正常工作。 我对变量做错了什么?

$project: {
        _id: 1,
        name: 1,
        goal: 1
    }
},
{
    $lookup: {
        from: "goals",
        let: { user: "$_id" },
        pipeline: [
            {
                $match: {
                    "user": "$$user"
                }
            },
            { $project: { _id: 0, leads: 0 } },
        ],
        as: "goal"
    }
},
{
    $project: {
        _id: 1,
        name: 1,
        goal: 1
    }
},

您需要使用$expr$match阶段中使用变量名。

{ $match: { $expr: { $eq: ['$user', '$$user'] }}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM