我已经缩小到引发错误的位置,这似乎是一个e
问题。
在表决功能内在这里发生错误:
Prisma
我正在通过this tutorial工作。
我正在尝试“投票”一篇帖子,但是会引发以下错误:
const linkExists = await context.db.exists.Vote({
user: { id: userId },
link: { id: args.linkId }
})
我要发送的变异是:
{
"data": {
"vote": null
},
"errors": [
{
"message": "Variable '$_v0_where' cannot be non input type 'VoteWhereInput'.
(line 1, column 20):\nquery ($_v0_where: VoteWhereInput)
{\n ^",
"locations": [],
"path": [
"votes"
]
}
]
}
不确定此错误的含义。我一直在将自己的代码与official repo on Github进行比较,但找不到区别。
这是我的投票功能:
mutation{
vote(linkId:"cjit726cxfkpj0a21z74nuncu"){
id
}
}
我退出async function vote(parent, args, context, info) {
const userId = getUserId(context)
const linkExists = await context.db.exists.Vote({
user: { id: userId },
link: { id: args.linkId },
})
if (linkExists) {
throw new Error(`Already voted for link: ${args.linkId}`)
}
return context.db.mutation.createVote(
{
data: {
user: { connect: { id: userId } },
link: { connect: { id: args.linkId } },
},
},
info,
)
}
时显示:
args
我创建了一个新用户,并与该用户创建了一条帖子(两种方法都很好),但是当我尝试以该用户的身份投票时,我陷入了困境。
如果需要,我的query:
query ($_v0_where: VoteWhereInput) {
votes(where: $_v0_where) {
id
}
}
operationName: null
variables:
{
"_v0_where": {
"link": {
"id": "cjit5v46i2r3y0a21a7ez0t9p"
},
"user": {
"id": "cjis44x27gbn60a219abasvjz"
}
}
}
:
datamodel.schema