不知道为什么我的光标为对象连接返回空?



我在响应时遇到此错误:

无法为不可为空的字段 TodoEdge.cursor 返回 null。

这是我的突变代码:

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和newTodo是从猫鼬数据库中检索的。我想我正确地遵循了这个相关的待办事项现代示例。帮助?

让我们尝试以下操作:

1(从数据库中获取待办事项,例如

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

您可以根据待办事项架构获取特定用户的待办事项。Todo.find({ userid: context.user._id}(;

2(一旦你得到你的待办事项,然后得到光标:

const cursor = offsetToCursor(todos.length);

这对我有用。试一试。

最新更新