2017-07-30 1 views
0

je rencontre cette erreur sur la réponse:ne sait pas pourquoi mon cursorForObjectInConnection renvoie null?

ne peuvent pas retourner nulle pour le champ non annulable TodoEdge.cursor.

Ceci est mon code de mutation:

mutateAndGetPayload: async ({text}, context) => { 
     let newTodo = new TodoModel({ text, _creatorUserId: context.user._id }); 
     await newTodo.save(); 
     return {newTodo}; 
    }, 
    outputFields: { 
    todoEdge: { 
     type: GraphQLTodoEdge, 
     resolve: async ({newTodo}, args,context) => { 
     const todos = await getTodosByUserContext(context.user._id, 'any'); 
     console.log("cursorForObjectInConnection = ",cursorForObjectInConnection(todos, newTodo)) // this logs null? 
     return { 
      cursor: cursorForObjectInConnection(todos, newTodo), 
      node: newTodo, 
     }; 
     }, 
    }, 

todos et newTodo est retreived la base de données de mangouste. Je pense que je suis correctement ce todo-modern sample pertinent. Aidez-moi?

Répondre

0

Essayons suivante:

1) Inscrivez-vous todos de votre DB comme

const todos = await Todo.find({}); 

Vous pouvez obtenir todos pour un utilisateur spécifique selon votre schéma Todo. Todo.find ({userid: context.user._id});

2) une fois que vous obtenez vos todos puis obtenir le curseur:

const cursor = offsetToCursor(todos.length); 

Cela a fonctionné pour moi. Essaie.