У меня такая же проблема. Я использовал поиск вместо фильтра.

тоящее время я пробую GraphQL с NodeJS, и я не знаю, почему эта ошибка возникает со следующим запросом:

{
  library{
    name,
    user {
      name
      email
    }
  }
}

Я не уверен, чтоtype из моегоresolveLibrary правильно, потому что на любом примере я взглянул на они использовалиnew GraphQL.GraphQLList(), но в моем случае я действительно хочу вернуть один пользовательский объект, а не массив пользователей.

Мой код:

const GraphQL = require('graphql');
const DB = require('../database/db');
const user = require('./user').type;

const library = new GraphQL.GraphQLObjectType({
    name: 'library',
    description: `This represents a user's library`,
    fields: () => {
        return {
            name: {
                type: GraphQL.GraphQLString,
                resolve(library) {
                    return library.name;
                }
            },
            user: {
                type: user,
                resolve(library) {
                    console.log(library.user);
                    return library.user
                }
            }
        }
    }
});

const resolveLibrary = {
    type: library,
    resolve(root) {
        return {
            name: 'My fancy library',
            user: {
                name: 'User name',
                email: {
                    email: '[email protected]'
                }
           }
        }
    }
}

module.exports = resolveLibrary;

Ошибка:

Error: Expected Iterable, but did not find one for field library.user.

Так что мойlibrary схема обеспечиваетuser поле, которое возвращает правильные данные (вызывается console.log).

Ответы на вопрос(2)

Ваш ответ на вопрос