问题标签 [prisma-graphql]

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 投票
2 回答
1002 浏览

graphql - 最好将 prisma 对象通过上下文传递给解析器还是直接使用它?

我想知道是否更好,或者直接在解析器中使用 prisma 客户端或通过上下文传递它有什么不同。

在官方文档中,它是通过上下文传递的:

我的问题是:为什么不直接在解析器中使用 prisma 客户端。

这个解决方案有什么问题吗?

0 投票
0 回答
573 浏览

graphql - Prisma 未在 WhereInput 中为字符串数组生成字段

我已经使用 GraphQL 大约 8 个月了。我以前从未遇到过这样的问题。当我对数据模型进行更改并运行生成 prisma 文件的命令时。我在表中有一个现有字段,其类型是字符串数组,所以languages:[String!]. 但是,在我生成的 prisma 文件中,我没有languages在我的表中看到查询选项。

这不是 prisma 不生成文件更新的问题。我已经删除了它,它会产生同样的东西。此外,languages存在于其他生成的类型中,只是不存在ItemDescriptionWhereInput(表名是 ItemDescription)。最后,这个字段目前正在使用中,我已经在我的 API 中更新了这个字段,它工作正常。所以这似乎是一个棱镜问题,与我的代码无关。

这是我的 ItemDescription 表:

这是 prisma 生成的 Where 输入,请注意languages此处缺少:

还要证明这与 prisma 没有更新我生成的文件无关,这是 prisma 从同一个表生成的另一种类型ItemDescription

所以我的问题是,为什么 prisma 不生成一个 whereinput,其中包含一个字符串数组类型的值?我现在没有办法对此进行查询。

0 投票
1 回答
758 浏览

javascript - 如何在一个 GQL 突变中建立多个连接?

所以我的 Prisma 数据模型中有以下内容。游戏和角色之间存在关系,角色可以出现在多个游戏中。此外,当单独查询游戏时,角色应该能够在游戏中列出:

然后,我将此作为更新模式中字符的突变。我传递了一系列游戏 ID,因为有可能在同一个突变中添加多个游戏:

并写了以下突变:

并且下面的突变写在 React 端。它旨在将一组 ID 传递给突变(这是预期的,因为架构假定将传递一组 ID:

我还将表单中的 onSubmit 数组中的游戏 ID 传递给突变。

结果是突变通过了,但只会更新名称字段,并且与 Games 的连接保持不变。

不知道我能做些什么来使它正确地变异。我不确定是否将数组直接传递到连接中的突变是导致问题的原因,但我尝试映射并单独传递每个游戏 ID,但连接未更新的结果相同。

0 投票
2 回答
2170 浏览

javascript - 在 react-apollo 中使用 refetchQueries 时使用现有变量

我正在使用postsConnection无限滚动查询。它包含变量,如after. 在做了一个upvote突变之后,我想refetchQueries......像这样

上面的代码给出了错误,因为POST_AUTHOR_QUERY接受的变量很少。这是那个查询

我不想手动添加变量。变量已经存储在缓存中。如何在使用时重复使用它们refetchQueries???

这是我读过的一些关于这个问题的资源

https://github.com/apollographql/react-apollo/issues/817

https://github.com/apollographql/apollo-client/issues/1900

0 投票
1 回答
258 浏览

mongodb - 如何在 graphql/prisma 中包含关系的类型创建查询?

我有一个类型“合同”,其中包括一个关系“用户”。我正在寻找一个包含用户的突变。

我认为用户只是存储了 ID,所以我的突变看起来像这样:

错误中包含“Reason: 'user' Expected 'UserCreateOneInput', found not an object.”这句话,IU认为应该是一个相当简单的语法东西。顺便一提; contractItems 上有一个 @embedded 指令。

0 投票
1 回答
281 浏览

reactjs - 有没有办法在不为类别制作不同的分页组件的情况下根据特定类别对产品进行计数?

我想使用产品类型为我的分页组件计算产品,但现在我想根据字段类别对产品进行分类,然后为我的分页组件计算该类别的产品。

我可以创建不同的分页文件,因为我只有两个要排序和计数的类别,但是有没有办法避免它?

产品数据模型:

分页组件:

产品成分:

0 投票
1 回答
301 浏览

graphql - 即使数据存在,`User` 类型的字段也会为 Query 返回 `null`

我的类型中有一个profilePicture字段User被返回为 null,即使我可以看到数据库中有数据。我有以下设置:

就像我说的数据库中有数据但是当我在 Playground 中运行以下查询时,我得到null

知道为什么吗?

ctx.prisma.user(({ id }), info);即使profilePicture该字段存在于generated/prisma.graphql

0 投票
1 回答
98 浏览

graphql - 我的项目仍在使用 graph-i-ql 而不是 Playground

如何使用游乐场而不是 graph-i-ql?

gatsby 文档 - 使用 graphql 游乐场

我尝试了几种方法来加载 Playground 而不是 graph-i-ql,更新了 xcode,使用了不同的浏览器,全局安装的 Playground,重新启动等。我的项目仍在http://localhost 加载 graph-i-ql:gatsby develop在我的鱼壳中运行后8000/___graphql 。

我的 github 仓库

0 投票
1 回答
2384 浏览

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

我有以下数据模型:

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

我这样做我的解析器:

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

突变看起来像这样:

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

或者

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

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

0 投票
2 回答
816 浏览

prisma - 在 Prisma 中按多列排序

我知道目前Prisma不支持按多个标量字段排序,(请参阅此问题:https ://github.com/prisma/prisma/issues/62 )。但是,我想知道是否有人在不使用 executeRaw 突变(原始SQL )的情况下找到了解决此问题的解决方案,因为我的代码中有很多地方需要按多个字段排序,而我不想在很多地方使用 executeRaw。我将不胜感激任何建议。谢谢!