“类型'VoteCreateInput的变量'$ data'期望值”

时间:2019-10-10 04:44:07

标签: graphql prisma

当我尝试进行“投票”突变时,出现以下错误。我的其他变异工作正常。 当我尝试进行“投票”突变时,出现以下错误。我的其他变异工作正常。 当我尝试进行“投票”突变时,出现以下错误。我的其他突变工作正常。

"data": null,
"errors": [
{
  "message": "Variable '$data' expected value of type 'VoteCreateInput!' but 
 got: {\"user\":{\"connect\": 
 {\"id\":\"ck1j3nzi68oef090830r8wd6b\"}},\"link\":{\"connect\": 
 {\"id\":\"ck1j58loj8x570908njwe4eu7\"}}}. Reason: 'User' Expected non-null 
  value, found null. (line 1, column 11):\nmutation ($data: 
  VoteCreateInput!) {\n          ^",
  "locations": [
    {
      "line": 2,
      "column": 3
    }
  ],
  "path": [
    "vote"
  ]
 }
]

突变

async function vote(parent, args, context, info) {
// 1
const userId = getUserId(context)

// 2
const linkExists = await context.prisma.$exists.vote({
  user: { id: userId },
  link: { id: args.linkId },
})

if (linkExists) {
  throw new Error(`Already voted for link: ${args.linkId}`)
}

// 3
return context.prisma.createVote({
  user: { connect: { id: userId } },
  link: { connect: { id: args.linkId } },
})

}

datamodel.schema

type Link {
id: ID! @id
createdAt: DateTime! @createdAt
description: String!
url: String!
postedBy: User
votes: [Vote!]!
}

type User {
id: ID! @id
name: String!
email: String @unique
password: String!
links: [Link!]!
votes: [Vote!]!
}

type Vote {
id: ID! @id
link: Link!
user: User!
}

schema.graphql

type Mutation {
vote(linkId: ID!): Vote!
}

type Link {
id: ID!
description: String!
url: String!
postedBy: User
votes: [Vote!]!
}

1 个答案:

答案 0 :(得分:0)

prisma数据库中有一个小故障,该小故障没有随数据模型的更改而更新。 我创建了一个新的数据库实例,现在可以正常工作了。