如何使用JoinMonster在GraphQL中连接数据库结果?

如何使用JoinMonster在GraphQL中连接数据库结果?,graphql,Graphql,我在一个项目中使用了joinmonster,但有一个问题我至今无法找出它的原因。我有27个相同结构的数据库。我需要在所有这些中运行一个查询,并在一个响应中连接所有结果。我的resolve属性如下所示: resolve: (parent, args, context, resolveInfo) => { return joinMonster(resolveInfo, {}, sql => { const pending = Object.keys(databas

我在一个项目中使用了
joinmonster
,但有一个问题我至今无法找出它的原因。我有27个相同结构的数据库。我需要在所有这些中运行一个查询,并在一个响应中连接所有结果。我的
resolve
属性如下所示:

  resolve: (parent, args, context, resolveInfo) => {
    return joinMonster(resolveInfo, {}, sql => {
      const pending = Object.keys(databases).map(async (key) => {
        let conn = await databases[key]()
        conn.query = promisify(conn.query)

        return conn.query(sql).then(result => {
          conn.detach()
          return result
        })
      })

      return Promise.all(pending)
        .then(values => [].concat.apply([], values))
        .catch(error => { throw error })
    })
数据库
是一个对象,因为每个键代表一个数据库连接。如您所见,我在所有数据库中执行相同的查询。所有结果都返回得非常好。但当我执行GraphQL查询时,将返回以下结果:

{
  "data": {
    "offices": [
      {
        "id": "21300380",
        "name": "Portela Lima e Colen Advogados",
        "address": null,
        "city": null,
        "state": null,
        "clients": [
          {
            "clientcode": "COLIN301",
            "email": "controladoria@plcadvogados.com.br"
          }
        ]
      }
    ]
  }
}
在我的数据库中,office
21300380
至少有300个客户端,但在GraphQL响应中,只返回一个客户端。我做错了什么