mongodb - MongoDB $lookup 聚合 - 从文档中仅检索一个字段
问题描述
这是我的汇总。我只想从生成的 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"
}
理想情况下,我只想提取电子邮件字段,而不是该文档中的所有内容。我希望我的解释是令人满意的。有人帮忙吗?
解决方案
在 $sort 管道之后使用 $project 管道进行跟进
.
. // SORT
.
},
{
$project: {
_id: 0,
name: 0,
email: 1,
pass: 0
}
}
在 $project 中,0表示现在在结果中显示该字段,1表示显示
您从MongoDB 的官方网站了解更多关于 $project的信息
推荐阅读
- mysql - 使用什么 SQL 查询来获取类别列表?
- javascript - 数字到文本变量未在 HTML 中显示
- javascript - Nodemailer不发送电子邮件
- javascript - 画布绘图问题 - 使用 forEach
- android - IF-ELSE 条件为新活动创建循环
- c++ - 函数定义不声明参数 - C++
- list - 我想从列表中选择图标,但它总是显示其他图标而不是代码点中的图标
- ruby-on-rails - 完全禁用 Sprockets
- visual-studio-code - 有没有办法将 Caps_Lock 重新映射为 vscode 的 vim 上的转义键?
- .htaccess - 如何从html表单更改url中的GET?