字符串列表的变异变量“$_v0_data”得到无效值 Graphql Node.js

Mutation with list of strings Variable "$_v0_data" got invalid value Graphql Node.js

我有这个简单的突变,效果很好

    type Mutation {
    addJob(
        url: String!
        description: String!
        position: String!
        company: String!
        date: DateTime!
        tags: [String!]!
    ): Job
}

突变解析器

    function addJob(parent, args, context, info) {

    console.log('Tags => ', args.tags)
    // const userId = getUserId(context)
    return context.db.mutation.createJob(
        {
            data: {
                position: args.position,
                componay: args.company,
                date: args.date,
                url: args.url,
                description: args.description,
                tags: args.tags
            }
        },
        info
    )
}

然而,当我尝试像上面看到的那样放置一个字符串数组(标签)时,我无法让它工作,我得到了这个错误

Error: Variable "$_v0_data" got invalid value { ... , tags: ["devops", "aws"] }; Field "0" is not defined by type JobCreatetagsInput at value.tags.

如果我将空数组分配给突变中的标签,则没有问题,但是如果我输入单个字符串值 ["DevOps"],例如我会得到错误

我发现问题显然出在解析器函数中 here 我必须在 set 参数中的对象内分配标签列表,如下面的代码

function addJob(parent, args, context, info) {
    return context.db.mutation.createJob(
        {
            data: {
                position: args.position,
                componay: args.company,
                date: args.date,
                url: args.url,
                description: args.description,
                tags: { set: args.tags }
            }
        },
        info
    )
}