Я только недавно начал изучать GraphQL и решил внедрить его в приложение для опросов, основанное на реакции, где пользователи могут создавать опросы и голосовать за них.Я создал модель мангуста, которая выглядит следующим образом https://github.com/luckyrose89/Voting-App/blob/master/backend/models/poll.js. У меня возникла проблема с добавлением голосов в опцию опроса при написании мутаций в Graphql.Пока что моя схема выглядит следующим образом:
const AnswerType = new GraphQLObjectType({
name: "Answer",
fields: () => ({
id: { type: GraphQLID },
option: { type: GraphQLString },
votes: { type: GraphQLInt }
})
});
const QuestionType = new GraphQLObjectType({
name: "Question",
fields: () => ({
id: { type: new GraphQLNonNull(GraphQLID) },
question: { type: GraphQLString },
answer: { type: GraphQLList(AnswerType) }
})
});
const AnswerTypeInput = new GraphQLInputObjectType({
name: "AnswerInput",
fields: () => ({
option: { type: GraphQLString },
votes: { type: GraphQLInt }
})
});
const QuestionTypeInput = new GraphQLInputObjectType({
name: "QuestionInput",
fields: () => ({
question: { type: new GraphQLNonNull(GraphQLString) },
answer: { type: new GraphQLNonNull(GraphQLList(AnswerTypeInput)) }
})
});
const Mutation = new GraphQLObjectType({
name: "Mutation",
fields: {
addPoll: {
\\\\ code here
},
deletePoll: {
\\\\\ code here
},
upvotePoll: {
type: QuestionType,
args: { id: { type: new GraphQLNonNull(GraphQLID) } },
resolve(parent, args) {}
}
}
});
Итак, я определил свои типы, и я могу добавлять и удалять опросы и получать доступ к одному опросу (здесь я пропустил раздел запросов).Но я не понимаю, как получить доступ к объекту AnswerType одного опроса без извлечения ненужных данных и использовать его для написания моей мутации upVote.Я надеюсь, что кто-то может направить меня с этим