GraphQL проблемы с доступом к элементам в объекте - PullRequest
0 голосов
/ 27 ноября 2018

Я все еще пытаюсь изучить graphql, и у меня возникают проблемы с доступом к элементам, которые находятся внутри объекта в базе данных.В моем коде на стороне клиента данные для id и createAt отображаются очень хорошо, только когда я добавляю объект, я получаю сообщение об ошибке:

Expected Iterable, but did not find one for field Users.profile

Я не уверен, чего не хватает в моем коде:

resolver:

 Query: {
    getUser(root, args, { userId }) {
      const {id } = args;
      const user = User.findOne({
          id
        });

        return user;
    }
  },

схема

const User = `
type User{
 id: String!
 createdAt: Date
 profile: [Profile]
}

type Profile {
 name: String!
 email: String!
}

extend type Query {
  getUser(
    id: String!
  ): User
}

Как я это называю в моем клиентском коде:

const getUser = gql`
  query getUser($id: String!) {
    getUser(id: $id) {
      id
      createdAt
      profile {
        name
        email
      }
    }
  }
`;

Вот как это выглядит вбаза данных MongoDB:

user{
  _id: "22222"
  createdAt: 11/22/2018
  profile:{
    name: "Chris"
    email: "chris@emample.com"
  }
}   `

1 Ответ

0 голосов
/ 27 ноября 2018

В случае, если это поможет кому-то в будущем, я должен установить свои объекты в JSON, чтобы заставить его работать.

const User = `
type User{
 id: String!
 createdAt: Date
 profile: JSON
}

extend type Query {
  getUser(
    id: String!
  ): User
}
...