Tengo este error al actualizar un campo dependiendo de la identificación del modelo, pero recibo una invocación prisma.resource.update()
no válida: error.
Esta es mi consulta:
const upvote = await prisma.resource.update({ where: { id: body.resourceID, }, data: { totalUpvotes: { increment: 1 }, userUpvoted: true, }, });
Cuando ejecuto la misma consulta pero uso un valor de cadena en lugar de la variable body.resource
,
const upvote = await prisma.resource.update({ where: { id: "cl5njhgc90435e8sx2o6d", }, data: { totalUpvotes: { increment: 1 }, userUpvoted: true, }, });
Estoy obteniendo la salida deseada. ¿Puedes decirme por qué esto podría estar sucediendo?
Estoy usando NextJS, Prisma y PlanetScale para esta aplicación
A continuación se muestra el resultado completo del error.
Request error PrismaClientValidationError: Invalid `prisma.resource.update()` invocation: { where: { ? id?: String }, data: { totalUpvotes: { decrement: 1 }, userUpvoted: false } } Argument where of type ResourceWhereUniqueInput needs at least one argument. Available args are listed in green. Note: Lines with ? are optional. at Document.validate (C:\Users\Ammaar\resourcehub\node_modules\@prisma\client\runtime\index.js:48195:20) at PrismaClient._executeRequest (C:\Users\Ammaar\resourcehub\node_modules\@prisma\client\runtime\index.js:50632:17) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async PrismaClient._request (C:\Users\Ammaar\resourcehub\node_modules\@prisma\client\runtime\index.js:50572:18) at async __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///(api)/./pages/api/meta/downvote.js:17:28) at async Object.apiResolver (C:\Users\Ammaar\resourcehub\node_modules\next\dist\server\api-utils\node.js:179:9) at async DevServer.runApi (C:\Users\Ammaar\resourcehub\node_modules\next\dist\server\next-server.js:381:9) at async Object.fn (C:\Users\Ammaar\resourcehub\node_modules\next\dist\server\base-server.js:488:37) at async Router.execute (C:\Users\Ammaar\resourcehub\node_modules\next\dist\server\router.js:213:36) { clientVersion: '4.0.0' }
Gracias por adelantado.
Según el error que recibe y su código, body.resourceID
se evalúa como undefined
dentro de su código. Asegúrese de que body.resourceID
sea una cadena en el momento en que se ejecute el código. ¿Es posible que su cuerpo contenga una variable con un nombre diferente a resourceID
y solo sea un error tipográfico?