使用大小写不敏感的GraphQL查询

时间:2018-01-17 14:15:19

标签: node.js neo4j graphql

我使用的是GraphQL查询语言和Neo4j数据库。在数据库中我有不同的名称,当我使用参数进行GraphQL查询以从数据库中获取一些数据时,我必须处理小写和大写字母。例如,当我有

{ Employee(name: "Stewart Irma"){
    name
  }
} 

这工作,但当我有

{ Employee(name: "stewart irma") {
    name
  }
}

这不起作用。 如何使reslovers不区分大小写。

1 个答案:

答案 0 :(得分:0)

在GraphQL架构中,您需要创建一个查询类型,其中包含对name参数的不区分大小写的cypher查询:

schema {
  query: QueryType
}

type QueryType {
  EmployeeNameQuery(name:String!): [Employee] @cypher(statement:"MATCH (n:Employee) WHERE LOWER(n.name) CONTAINS LOWER($name) RETURN n;")
}

然后你可以这样查询:

{ EmployeeNameQuery(name: "stewart irma") {
    name
  }
}