问题标签 [nexus-js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphql - 如何使用带有特定参数的 Nexus 的 Prisma 插件 crud
我有一个Advertiser
graphql 类型:
鉴于以下突变:
Nexus 生成此模式(如预期的那样):
问题是,如果我想省略一些参数怎么办?例如,我不希望客户端通过createdAt
或updatedAt
. 这些列应在服务器中解析。
请参阅此处的(部分)文档 - https://nexusjs.org/docs/plugins/prisma/api#example-4
typescript - Nexus Prisma - 如何在全球范围内使用 crud 处理 createdAt 和 updatedAt?
我想出的第一件事是调用computedInputs
选项nexusPrisma
。但这行不通,因为它们需要根据情况进行不同的处理,但在全球范围内:
为了使它工作,我需要像这样单独设置 computedInputs:
虽然这可能有效,但我无法在嵌套模型上“计算”这些输入。为了防止传递 createdAt/updatedAt,我还必须t.crud
在该资源上创建另一个,没有这些时间戳。
可能有效的最后一个解决方法是根本不使用t.crud
,这是一个无赖。
prisma-graphql - 无法测试突变
我正在尝试测试一个只有创建事件的用户才能修改它的突变。我按照nexus教程设置测试环境,测试如下:
但是当我尝试运行这个测试时,我得到了这个错误:
我不能在函数中运行突变吗?
graphql - 是否可以在 GraphQL 解析器中使父级无效?
在优化我的 GraphQL 解析器时,我意识到使用它们的解析器解析所有字段(而不是使用带有一些预填充数据的父解析器)是以最强大的方式利用 DataLoader 的方式。像这样:
null
但是,通过这样做,当用户不存在时(至少在我的知识中)返回用户变得不可能。于是问题就来了。
- 是否可以使 GraphQL 解析器中的整个父对象无效?
- 如果是这样,如何?
- 如果没有,添加类似
exists
字段的内容会是最好的解决方案吗?
graphql - 如何将数组作为参数传递给 Nexus?如何使用 Prisma 从这个数组创建多个对象?
我正在尝试学习一起使用 Prisma 和 Nexus。我希望有经验的人可以帮助我。
我想创建一个附有几张图片的帖子。
我的 Prisma 模型如下所示:
我需要编写一个 Nexus 突变,它可以接受带有标题、正文和图像 url 数组的帖子。我需要为每个网址创建一个图像记录,并将它们附加到帖子中。
你能帮我弄清楚如何正确地做到这一点吗?
- 我不知道如何将 json 对象数组传递给 args。有类似
stringArg()
or的东西intArg()
,但是你如何接受一个数组? - 创建一堆
Image
对象并将它们附加到的正确方法是Post
什么?我应该有一个 for 循环并手动创建它们,然后以某种方式附加它们吗?或者,还有更好的方法?
你知道有没有人做这种事情的例子?
typescript - 在 GraphQL Nexus.js 中定义类型时如何增加 ObjectDefinitionBlock?
我正在使用 nexus.js 来构建 GraphQL 架构。要定义一个类型,我们使用ObjectDefinitionBlock
. 我将对象类型定义如下:
这t
是一个ObjectDefinitionBlock
允许定义对象字段的方法。x.id
是一种类型,bigint
并被序列化为内置的 GraphQL 标量类型 - ID
。因为,我使用bigint
我所有的数据库 ID,所以我必须始终添加一个解析器来转换bigint
为string
. 我想扩充它t
,以便我可以写:
请注意,我不想定义新的 scalar。只需要在标量上编写一个外观,ID
以避免为resolve
函数编写重复定义。有什么办法可以做到这一点?
typescript - NexusJS 错误:TypeError:类构造函数 GraphQLNonNull 不能在没有“新”的情况下调用
我试图学习nexus,但遇到了问题。
我用这段代码创建了 index.ts 文件:
然后我尝试运行脚本:
ts-node-dev --transpily-only --no-notify index.ts
并在控制台中出现错误:
我尝试重新安装nexus,但它不起作用
项目文件和目录:
graphql - 未找到 nexus 生成 supabase url(环境变量)
Prisma Nexus 生成找不到环境变量
我import 'dotenv/config'
的 Apollo 服务器集的根目录。所以我可以好好发展。但是,当我尝试运行时,出现ts-node --transpile-only apollo/schema
以下错误。
这告诉我它dotenv
没有在生成时运行。在某处有这个配置吗?
graphql - 在 GraphQL Nexus 上创建多对一关系字段时的类型错误
我正在为我的网络应用程序使用 Next.js 及其 api 路由、Graphql、Nexus、Prisma。使用 Nexus 为架构创建多对一关系字段时出现类型错误。似乎解析器的返回类型与它想要的不匹配。
当我使用以下 graphql 查询执行时,我仍然能够从产品中检索类别。
我的模式是直截了当的。一个简单的电子商务,有一些品类,每个品类都有它的产品,一个产品只有一个品类。
模式棱镜
这是类型错误:
我已经阅读了这个问题,但我不知道如何解决它
https://github.com/graphql-nexus/nexus/issues/914#issuecomment-887024267