Как вернуть сохраненный объект MongoDB в GraphQL?

#javascript #node.js #asynchronous #graphql

#javascript #node.js #асинхронный #graphql

Вопрос:

Строка 26 выполняется перед строкой 24, хотя я использую await. Я хочу вернуть объект link, но не могу. В GraphQL всегда возвращается значение Null, и я получаю сообщение об ошибке «Не удается вернуть значение null для ненулевой мутации поля.createLink».

Я предполагаю, что это проблема с async / promises, и я неправильно их обрабатываю, но я думал, что await решит это. Конечно, если он печатает объект Link правильно, то он возвращает тот же объект? Потому что, почему GraphQL получит null, если он не печатает null в терминале?

Спасибо.

Определения типов

Код и терминал

Комментарии:

1. @xadm мое определение типа для ссылки уже включает идентификатор. Когда значение res не равно null, он возвращает объект просто отлично. И когда значение res равно нулю, он создает и сохраняет объект просто отлично, но он не возвращает правильный объект. Я должен снова вызвать мутацию, чтобы получить объект, который был сохранен после предыдущей мутации.

2. await Link.findOne ?

3. @xadm уже пробовал, не работает. Он все еще переходит в строку 29 до завершения строки 26. Возвращается значение Null, а затем возвращается правильная вещь, но, IDK, почему,