如何在一个graphql查询中匹配和合并两个解析器之间的结果?

时间:2019-07-18 05:17:22

标签: node.js mongodb mongoose graphql

我有两个解析器。

一个是公司解决方案,它返回公司详细信息,例如ID,名称和文档ID列表,例如以下示例:

{
  "data": {
    "companyOne": {
      "name": "twitter",
      "documents": [
            "5c6c0213f0fa854bd7d4a38c",
            "5c6c02948e0001a16529a1a1",
            "5c6c02ee7e76c12075850119",
            "5c6ef2ddd16e19889ffaffd0",
            "5c72fb723ebf7b2881679ced",
            "5c753d1c2e080fa4a2f86c87",
            ...
      ]
    }
  }
}

另一个解析器为我提供了该示例的所有文档详细信息:

{
  "data": {
    "documentsMany": [{
      "name": "doc1",
      "_id": 5c6c0213f0fa854bd7d4a38c,
     }, {
      "name": "doc2",
      "_id": 5c6c02948e0001a16529a1a1,
     },
     ...
    ]
  }
}

如何将每个data.companyOne.documents[id]data.documentsMany[..]._id匹配?在查询级别?可以做这个graphql吗?

预期结果应该是当我运行companyOne查询时(不更改代码-仅在查询级别),它应该以文档作为对象而不是字符串ID数组返回。

也许是什么?

query {
  companyOne {
   name, 
   documents on documentsMany where _id is ___???
  }
}

0 个答案:

没有答案