【发布时间】:2019-10-09 18:33:59
【问题描述】:
我正在使用 graphql 和 prisma。
datamodel.prisma
type User {
id: ID! @id
createdAt: DateTime! @createdAt
updatedAt: DateTime! @updatedAt
email: String! @unique
password: String!
first_name: String
}
schema.graphql
scalar Date
type Query {
users: [User!]!
}
type User {
id: ID!
createdAt: Date!
updatedAt: Date!
email: String!
first_name: String
}
解析器
users: (parent, args, context) => {
return context.prisma.users();
}
我希望得到一个用户列表,但收到了错误: 查询
{
users {
email
}
}
错误
"Cannot query field 'password' on type 'User'. (line 7, column 5):\n password\n ^"
更新 1 尝试使用片段,但得到了相同的结果:
{
users {
...userFields
}
}
fragment userFields on User {
email
}
【问题讨论】:
-
当我删除密码字段时 - 一切正常,但我需要这个字段来创建用户。
-
使用
fragments -
@xadm 一样的
{ users { ...userFields } } fragment userFields on User { email } -
... 将用户类型克隆到 UserInput(用于变异/创建用途),从用户类型中删除密码
-
@xadm 你能提供一些小例子吗?
标签: graphql schema react-apollo prisma