在graphQL的解析器的args上使用loop / foreach?

时间:2019-06-19 12:17:01

标签: node.js graphql

我想知道是否可以在graphQL解析器的“ args”上循环吗?

我希望能够自动处理参数,目的是动态修改SQL查询的限制。

例如:

  query  {
  getPerson(firstName: "Jane", lastName: "Doe") {
    someElement
  }
}

在这里,我想在我的解析器中执行SQL查询:

SELECT * 
FROM persons
WHERE firstName = "Jane" 
AND lastName = "Doe"

但是当我的查询是:

  query  {
  getPerson(firstName: "Jane", lastName: "Doe", email: "a.b@gmail.com") {
    someElement
  }
}

我想要:

SELECT * 
FROM persons
WHERE firstName = "Jane" 
AND lastName = "Doe"
AND email = "a.b@gmail.com"

那么,有类似的东西吗? :

foreach different args
   add "AND ... " to my Query's String

1 个答案:

答案 0 :(得分:0)

您可以将每个参数设为可选,然后检查是否已给定该参数并将其包含在查询中。但是,因为您没有将解析器提供给我们,所以我们无法提供所需的更改。