我正在使用带有Node的graphQL的Neo4j数据库 . 我正在使用一个名为neo4j-graphql-js的库,它允许您将graphQL查询转换为cypher . 我想制作一个自定义变异并且不按我想要的方式工作:

这是我的文件架构:

type File {
   _id: ID @cypher(statement: "WITH {this} AS this RETURN ID(this)")
   name: String
}

input FileInput {
   name: String
}

mutation CreateFile($file : fileInput) {
    createFile(fileInput: $file){
        File
    }
}

mutation UpdateFile($id: ID, $file : fileInput) {
    updateFile(id: $id, fileInput: $file){
        File
    }
}


type Query {
    File(_id:ID):File
}

type Mutation {
    CreateFile(name:String):File
    UpdateFile(id:ID, name:String):File
}

文件创建成功 . 问题!当我想更新节点时... neo4j-graphql进行以下查询:

MATCH (file:File {id: $id}) 
 SET file += $fileInput 
 RETURN file {_id: ID(file), .name } AS file {id:194,fileInput{ name:"mydoc"}}

我想要这个查询:

MATCH (file:File) 
WHERE ID(file):$id 
SET file+= $fileInput 
RETURN file {_id: ID(file), .name } AS file {id: 193, fileInput {name: "mydoc"}

我做错了什么?有人知道吗?你能帮忙的话,我会很高兴!谢谢