0

我正在使用 GRAND 堆栈为突变编写自定义密码查询。但是,我在从我正在编写的密码查询中访问存储在 Apollo Server 上下文中的用户对象时遇到问题。

因此,与其这样做,

createUser(id: String): User
    @cypher(
      statement: "CREATE (u:User {id: $id}) RETURN u"
    )

我想做类似的事情

createUser: User
    @cypher(
      statement: "CREATE (u:User {id: context.user.id}) RETURN u"
    )

4

1 回答 1

1

Apollo 上下文本身不会传递给密码查询。因此,您必须根据需要编写相应的解析器。

你能试试这样的东西吗:

export const typeDefs = `
  ...
  type Mutation {
    ...
    createUser: User  @cypher(statement: "CREATE (u:User {id: context.user.id})  RETURN u")
     ...
  }`

export const resolvers = {
  ...
  Mutation: {
    ...
    createUser(object, params, ctx, resolveInfo) {
      let newParms = params;
      params.context = ctx;
      return neo4jgraphql(object, newParms, ctx, resolveInfo, true);
    }
    ...
  }
}
于 2019-07-08T22:07:57.453 回答