如何在graphQL中的字段上进行运行时数据操作?

时间:2019-03-13 17:39:44

标签: javascript api graphql graphql-js

我有以下查询,

query
{
  snapshots {
    name
    timestamp
    aggregations {
      rating
      technology {
        name
        category {
          name
        }
      }
      trend
    }
  }
}

趋势不是数据库中的字段,我希望在运行时计算该字段的值并返回,是否可以使用graphQL做到这一点?

我正在寻找一种方法,可以将函数与该查询中的趋势属性相关联,并在该函数中执行任何操作,比较计算或执行任何操作。例如

query
{
  snapshots(limit: 1, sort: "timestamp:desc") {
    name
    timestamp
    aggregations {
      rating
      technology {
        name
        category {
          name
        }
      }
      trend: function (() => { 
      // do some calculation or comparison or some sub query here
     })
    }
  }
}

我无法在数据库或API中修改编写此graphQL查询的任何内容。

1 个答案:

答案 0 :(得分:1)

在GraphQL中,您只能使用解析器在服务器上操作数据。

如果您无权修改服务器上的GraphQL解析器,恐怕您将无法完成所描述的内容。