Node.js MongoDB聚合,使用$lookup仅显示一个字段的结果

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_文档,我使用match、lookup和addfield,但我希望获取结果仅显示pasien_文档数组:

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 }
    }
  ]
)