GraphQL의 커서와 MongoDB의 커서 사이의 관계에 대해 혼란스러워합니다.GraphQL & MongoDB 커서
저는 현재 개체 (몽고 문서)를 만들고 기존 연결 (몽고 컬렉션)에 추가하는 돌연변이 작업을하고 있습니다. 객체를 추가 할 때, 변이는 추가 된 가장자리를 반환합니다. 어떤 모양이어야합니다 :
{
node,
cursor
}
노드가 실제로 추가 된 문서이지만, 나는 커서로 반환되어야하는 내용을 혼동합니다.
const CreatePollMutation = mutationWithClientMutationId({
name: 'CreatePoll',
inputFields: {
title: {
type: new GraphQLNonNull(GraphQLString),
},
multi: {
type: GraphQLBoolean,
},
options: {
type: new GraphQLNonNull(new GraphQLList(GraphQLString)),
},
author: {
type: new GraphQLNonNull(GraphQLID),
},
},
outputFields: {
pollEdge: {
type: pollEdgeType,
resolve: (poll => (
{
// cursorForObjectInConnection was used when I've tested using mock JSON data,
// this doesn't work now since db.getPolls() is async
cursor: cursorForObjectInConnection(db.getPolls(), poll),
node: poll,
}
)),
},
},
mutateAndGetPayload: ({ title, multi, options, author }) => {
const { id: authorId } = fromGlobalId(author);
return db.createPoll(title, options, authorId, multi); //promise
},
});
감사 :
이 내 돌연변이입니다!