MongoDB $ lookup聚合-从文档

时间:2019-03-15 12:36:32

标签: mongodb mongoose

这是我的汇总。我只想从生成的JSON中获取一个字段,而不是整个文档。

 Listings.aggregate([
    {
        $lookup: {
            from: "users",
            localField: "userid",
            foreignField: "_id",
            as: "user"
        }
    },  
    { $sort : { _id : -1 } }
]).exec(function (err, data) {
    if (err) {
        return res.status(500).json({
            title: 'An error occurred',
            error: err
        });
    }
    res.json(data);
});

这是我从请求中得到的结果JSON。

{
   _id: "5c8b5c148ee19c6a092a76fe",
   name: "Brian Ken",
   email: "brian@kena.com",
   pass: "sdlajsdlj99939*&*&sdsdljsjdljllj"
}

理想情况下,我只想仅提取电子邮件字段,而不提取此文档中的所有内容。希望我的解释令人满意。有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

在$ sort管道之后使用$ project管道

.
.   // SORT
.
},
{
    $project: {
        _id: 0,
        name: 0,
        email: 1,
        pass: 0
    }
}
  

在$ project中, 0 表示现在在结果中显示该字段,而 1 则显示

您可以通过MongoDB's official website

了解有关$ project的更多信息