2017-02-12 8 views
0

Итак, я решил использовать graphql в качестве механизма запросов вместе с mongodb. Так что я создал свои схемы и все выглядит отлично, НО, один из моих схем содержит список строк, например:обновить часть массива в graphQL

exports.default = new gql.GraphQLInputObjectType({ 
    name: 'myModel', 
    fields: { 
     type: { type: gql.GraphQLString }, 
     workingDays: { type: new gql.GraphQLList(GraphQLString) } 
    } 
}); 

Таким образом, в списке у меня есть Рабочие 50 элементов, и я хотел бы изменить один из них, есть ли способ сделать это с помощью Graphql?

Как правило, это тип строки внутри, но это может быть и объект.

Спасибо.

+0

Вы имеете в виду некоторые данные, возможно, строку или объект –

+0

, вы можете создать свой собственный API, который позволяет эту возможность, например, 'updateWorkingDays (modelId: ID !, index: Int !, workDay: String)' мутация. – marktani

+0

Если вы определяете 'workDays' как список строк, то вам нужно придерживаться этой схемы, вы не можете отправить 49 строк и 1 объект. Вы могли бы добавить еще один атрибут к типу 'myModel' типа' workingDaysObjects', который не был бы обязательным массивом объектов, где вы бы поместили эти дополнительные объекты (если я правильно понял ваш вопрос). – piotrbienias

ответ

1

Вы можете добавить новую мутацию, которая кодирует эту функциональность.

Например, updateWorkingDays(modelId: ID!, index: Int!, workDay: String), который обновляет рабочий день модели modelId на index до новых workDay.