GraphQLのカーソルとMongoDBのカーソルとの関係を混同しています。GraphQL&MongoDBカーソル
私は現在、オブジェクト(mongoドキュメント)を作成し、既存の接続(mongoコレクション)に追加する変異に取り組んでいます。オブジェクトを追加するとき、突然変異は追加されたエッジを返します。どのように見えるか:
{
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
},
});
ありがとう:
これが私の変異であります!