我仍在尝试学习graphql,但无法访问数据库中某个对象内的项目。在我的客户端代码中,id和createdAt的数据显示得很好,只是在我添加对象时出现错误:
Expected Iterable, but did not find one for field Users.profile
我不确定我的代码丢失了吗
解析器:
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"
}
} `
答案 0 :(得分:0)
以防万一将来对某人有帮助,我不得不将对象设置为JSON才能使其正常工作。
const User = `
type User{
id: String!
createdAt: Date
profile: JSON
}
extend type Query {
getUser(
id: String!
): User
}