Node.js MongoDB聚合,使用$lookup仅显示一个字段的结果
我试图在查找结果中仅获取对象pasien_文档,我使用match、lookup和addfield,但我希望获取结果仅显示pasien_文档数组:Node.js MongoDB聚合,使用$lookup仅显示一个字段的结果,node.js,mongodb,Node.js,Mongodb,我试图在查找结果中仅获取对象pasien_文档,我使用match、lookup和addfield,但我希望获取结果仅显示pasien_文档数组: Pasien.aggregate( [ { $match: { _id: ObjectId(id) } }, { $lookup: { from: "data", localField: "_id",
Pasien.aggregate(
[
{
$match: {
_id: ObjectId(id)
}
},
{
$lookup:
{
from: "data",
localField: "_id",
foreignField: "idPasien",
as: "pasien_docs"
}
},
{ '$addFields': {
'pasien_docs': {
'$map': {
'input': '$pasien_docs',
'in': {
'ecg': '$$this.ecg',
'date': '$$this.date'
}
}
}
}}
]
)
结果是:
"data": [
{
"_id": "5e08a79fe34fa20a302f659f",
"username": "rizkarahayus",
"nama": "Rizka Rahayu",
"__v": 0,
"pasien_docs": [
{
"ecg": null,
"date": "2020-01-21T05:22:01.901Z"
},
{
"ecg": 1.03,
"date": "2020-01-21T05:22:02.979Z"
},
但我只希望结果显示pasien_文档数组,如下所示:
"pasien_docs": [
{
"ecg": null,
"date": "2020-01-21T05:22:01.901Z"
},
{
"ecg": 1.03,
"date": "2020-01-21T05:22:02.979Z"
},
你能帮我吗?谢谢…您只需使用并指定包含pasien\u docs
computed字段,以及抑制\u id
字段,如:
Pasien.aggregate(
[
{
$match: {...}
},
{
$lookup: {...}
},
{
'$addFields': {...}
},
{
$project: { _id: 0, pasien_docs: 1 }
}
]
)