Мутация со списком строк Переменная "$ _v0_data" получила недопустимое значение 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.info('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"], например, я получу ошибку

пожалуйста, добавьте код мутации

Peter 04.11.2018 20:21

@Peter Добавил.

Mo Hajr 05.11.2018 07:53

Вы недавно меняли схему мутации? У вас prisma deploy? Похоже, что type JobCreatetagsInput не ожидает этого типа String.

Elfayer 07.11.2018 02:35

@Elfayer Нет, он вообще не изменился, и если я попробовал развернуть Prisma, схема будет актуальной, и об этом - JobCreatetagsInput, введите JobCreatetagsInput {set: [String!]}

Mo Hajr 07.11.2018 10:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
4
1 830
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема была в функции распознавателя, по-видимому, поскольку я обнаружил здесь, мне нужно назначить список тегов внутри объекта в аргументе 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
    )
}

Спасибо, что поделились, работает как брелок, в доке об этом не сказано.

Merlyn007 10.01.2019 06:51

@ Merlyn007 рад, что это помогло ^^

Mo Hajr 10.01.2019 12:07

Другие вопросы по теме