问题标签 [nexus-prisma]

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.

0 投票
1 回答
2384 浏览

graphql - 如何使用nexus-prisma做一个嵌套的变异解析器

我有以下数据模型:

我这样定义我的对象类型:

我这样做我的解析器:

所以现在在解析器中,我可以将选择作为 json 字符串接收,然后解析它并使用作业连接/创建。

突变看起来像这样:

我想知道是否有更优雅的地方可以做类似的事情:

或者

我注意到使用nexus-prisma你可以做stringArg({list: true}),但你不能真正做对象。

我的主要问题是什么是最优雅的方式来进行嵌套突变或将所有内容连接在一起。

0 投票
1 回答
2177 浏览

javascript - 将自定义 GraphQL 解析器和类型添加到 Prisma/Nexus 架构中

使用:TypeScriptPrismaMySQLGraphQLServerApolloClient,以这种方式构建模式:

接着:

如何将其与与 SQL 无关的自定义解析器和类型结合起来?

(我也想通过 GQL 调用一些 REST 端点)

0 投票
1 回答
1596 浏览

javascript - Nexus-prisma:排序嵌套连接

保持架构中嵌套对象顺序的最佳方法是什么。

我的架构:

这就是我尝试对页面进行排序的方式(不成功):

解析器:

我理解为什么这种方法是错误的。我猜想应该通过连接表中的订单索引将订单写入数据库。我不知道如何通过 GraphQL/Nexus/Prisma/MySQL 来处理它。

0 投票
1 回答
908 浏览

file-upload - 如何使用 prisma-nexus 上传多个文件

我需要使用单个 graphql 突变上传多个图像。

按照官方 nexus文档,我设法使用了 graphql-upload 库并获得了上传标量类型的权限,如下所示,

单次上传 - 工作

多次上传 - 不起作用

使用 t.list.upload("images") 时,打字稿不会显示任何错误,并且还会自动完成。但是服务器启动将失败,并出现错误“t.list.upload”不是函数。

这不是正确的方法吗???请建议。

0 投票
1 回答
912 浏览

prisma - Prisma.io 如何过滤 ENUM 字段具有 ANY 值的位置

我有一些 ENUM 类型的字段,我想做一个where过滤器,其中字段值是任何东西。基本上,我想要的是where {fieldName_is_set: true}`

这样的事情存在吗?我能想到的唯一方法是: where: { fieldNam_in: [all the enum values]}

我不喜欢这种方法,因为它需要我维护all the enum values.

0 投票
2 回答
2639 浏览

javascript - 订阅不适用于 Prisma 2 和 Nexus?

Nexus 订阅没有记录,但我搜索了 Github 并尝试了书中的每个示例。它只是不适合我。

我已经克隆了 Prisma2 GraphQL 样板项目,我的文件如下:

棱镜/schema.prisma

src/index.js

相关部分是Subscription我不知道它为什么不工作或它应该如何工作的部分。

我在 Github 上搜索了这个查询,结果所有项目都使用Subscriptions.

我还发现这个项目中的这个提交与我的答案相关。为简洁起见,在此处发布相关代码:

这与我所做的类似。但他们确实有AnswerSubscriptionPayload& 我没有得到任何包含Subscription在其中的生成类型。

我该如何解决这个问题?我认为我做的一切都是正确的,但它仍然无法正常工作。GitHub 上的每个示例都与上面类似,甚至我也在做同样的事情。

有什么建议么?

编辑:订阅尚未实现:(

0 投票
1 回答
211 浏览

database-design - 使用 Prisma 扩展类型 DB 设计

如果我有一个如下所示的模式,其中用户可以有许多图像,但我没有图像上的字段来指向用户。如何保存新图像并将其连接到用户?我在想我会省略该User字段,Image Type因为我没有理由根据图像 ID 查询用户。但我不知道如何使用生成的 prisma 客户端进行调用以保存。

通常我的创建调用,它将创建与另一个表连接起来,如下所示,但我相信这段代码需要我的类型user上的一个字段。Image

我是否正确地考虑了这一点?您是否应该始终在具有这种关系的两个表之间进行双向引用?

没有指向用户的链接的主要好处之一是我可以将图像表用于用户以外的事物。比如产品什么的。

0 投票
1 回答
560 浏览

prisma - prisma2 订阅返回数据:null

我有一个基本的 pubsub 使用样板和 graphql-yoga 在这里工作: https://github.com/ryanking1809/prisma2_subscriptions https://codesandbox.io/s/github/ryanking1809/prisma2_subscriptions/tree/sql-lite

使用发布突变:

和订阅 - 我只是回来true确保withFilter(来自graphql-yoga)工作。

返回以下内容publish(您可以将这些复制并粘贴到代码和框中 - 这很整洁!)

由于某种原因,它正在返回data: null。当我登录payload.publishedPosts过滤器功能时,似乎一切都在那里。

有什么我想念的吗?

0 投票
2 回答
2141 浏览

typescript - prismaObjectType 使用会产生一个过于复杂而无法表示的联合类型

我有一个用graphQl和prisma-nexus用打字稿编写的节点项目。

prismaObjectType from 的使用import { prismaObjectType } from 'nexus-prisma'会产生一个过于复杂而无法表示的联合类型。

我仍然可以在开发中使用该项目,但是当我使用tsc -p构建失败并出现此错误时error TS2590: Expression produces a union type that is too complex to represent.

有人遇到这个问题吗?知道如何解决它或至少在构建项目时忽略它吗?

提前谢谢了。

0 投票
1 回答
1337 浏览

prisma - 使用 nexus 在 Prisma2 中公开总页数的最佳方法是什么?

我正在使用 nexus 切换到 Prisma2 并且找不到实现分页的好方法 - 跳过类型可以正常工作。我可以找到一种在数组上实现它的好方法,所以我最终在类型上添加了一个计算字段总计。

它是可用的,但我相信有更好的方法......谁能给我一个提示?