全局配置

这是 GraphQL 库版本 6 的文档。有关长期支持 (LTS) 版本 5,请参考 GraphQL 库版本 5 LTS.

通过模式配置,可以全局禁用特定类型的操作。要单独设置操作,请参考 类型配置.

例如,如果您想**一次性禁用所有顶层聚合操作**,Neo4j GraphQL 库通过使用 @query 的模式扩展提供了此选项。

type Movie @node {
    title: String
    actors: [Actor!]! @relationship(type: "ACTED_IN", direction: IN)
}

type Actor @node {
    name: String
    movies: [Movie!]! @relationship(type: "ACTED_IN", direction: OUT)
}
extend schema @query(read: true, aggregate: false)

查询

  • movies

  • moviesAggregate

  • moviesConnection

  • actors

  • actorsAggregate

  • actorsConnection

无效的模式使用

相同的模式配置指令不能同时应用于模式和对象。以以下类型定义为例

type Movie @node {
    title: String
    actors: [Actor!]! @relationship(type: "ACTED_IN", direction: IN)
}

type Actor @node @query(read: false, aggregate: true) {
    name: String
    movies: [Movie!]! @relationship(type: "ACTED_IN", direction: OUT)
}
extend schema @query(read: true, aggregate: false)

此类配置会导致错误 "@query directive already defined at the schema location"