neo4j graphql 与空数组发生变异

neo4j graphql mutating with empty array

我是 graphql 和 neo4j graphql 库的新手,需要一些帮助。 我的目标是创建一个可选的 tags 字段到 BlockTitle

我有以下架构:

type BlockTitle  {
    id: ID! @id 
    created_at: DateTime! @timestamp
    text: String!
    tags: [Tag!]! @relationship(type: "HAS_TAG", direction: OUT)
 }

type Tag {
    id: ID! @id 
    created_at: DateTime! @timestamp
    name: String! @unique
 }

在 neo4j graphql 文档中,我将以下内容标红:

The relationship at User.posts is considered a "many" relationship. Relationships such as the one above should always be of type NonNullListType and NonNullNamedType, meaning both the array and the type inside of it should have a !. neo4j doc ref

尊重建议,我相应地制作了标签字段:tags: [Tag!]! ...

但是我在 apollo studio 中修改以下项目(带有标签)时遇到了问题:

mutation CreateBlockTitles($input: [BlockTitleCreateInput!]!) {
  createBlockTitles(input: $input) {
    blockTitles {
      text
    }
  }
}

有输入

{
  "input": {
    "text": "A title without a tag"
  }
}

其中returns以下错误

  "errors": [
    {
      "message": "BlockTitle.tags required",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
    ...

我尝试/考虑的事情:

  1. 为突变中的标签字段提供一个空数组[],但我没能成功。我仍然收到错误。
  2. 使用 [Tag] 而不是 [Tag!]!,但违背了推荐的做法。所以真的不想那么做。

感谢您的帮助<3

IIRC,这是一个在 2.5.3 中修复的错误。我刚刚用当前 3.0.1 版本的代码尝试了上面给出的 Mutation 和 input,一切似乎都按预期工作。