问题标签 [graphql-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.
relayjs - 使用连接和分页时GraphQL和数据库之间的关系?
使用 Relay 设置分页非常容易,但是有一个小细节我不清楚。
我的代码中的两个相关部分都标有注释,其他代码用于附加上下文。
我困惑的原因:
- 如果我传递参数并在 db 查询中使用它来
first
限制返回的结果,hasNextPage
总是. 这是有效的,但它会破坏(如果你使用)false
hasNextPage
hasPreviousPage
last
- 如果我不传递
first
参数并且不在数据库查询中使用它来限制返回的结果,hasNextPage
则按预期工作,但它将返回我查询的所有项目(可能是数千个)- 即使数据库在同一台机器上(对于更大的应用程序而言并非如此),这似乎非常、非常、非常低效和糟糕。请证明我错了!
- 据我所知,GraphQL 没有任何服务器端缓存,因此没有必要返回所有结果(即使有,用户也不会浏览 100% 的内容)
这里的逻辑是什么?
我想到的一种解决方案是增加+1
value first
in getUserPosts
,它将检索一个多余的项目并且hasNextPage
可能会起作用。但这感觉就像是一种黑客行为,并且总是有多余的物品被退回——如果有很多connections
和请求,它会相对快速地增长。
我们是否期望像那样破解它?是否期望返回所有结果?
还是我误解了数据库和 GrahpQL / Relay 之间的整个关系?
如果我使用FB DataLoader和 Redis 会怎样?这会改变这个逻辑吗?
rethinkdb - 重新思考数据库和 GraphQL?
我无法使用 rethinkdb 查询解析我的 graphQL 字段。我感觉这与 javascript 范围有关,但我几乎尝试了所有组合。这就是我目前所拥有的。
angular - 与 Apollo 集成的 Angular2 教程
我成功完成了 Angular2 教程。现在我想用 Apollo-GraphQL 服务器 ( http://docs.apollostack.com/apollo-client/angular2.html ) 替换最后一步中的 HTTP 服务器。
我将 Apollo 依赖项添加到我的package.json
:
在我main.js
的引导下,阿波罗提供者:
不幸的是,当我启动服务器时,这给了我一个 404:
我像这样调整了 SystemJS-config:
这适用于 angular2-apollo 模块。但是现在 angular2-apollo 模块中的所有其他导入模块都会得到 404。当然我可以遍历整个依赖关系树并将每个模块添加到 SystemJS(实际上我这样做直到深度约为 3)。但这显然不是它应该如何工作的?
有没有一种方便的方法让 Angular2 与 Apollo 集成一起工作?
graphql - 在 Graphql 请求中发送双引号和反斜杠
我想在 Graphql 请求中发送双引号(“)和反斜杠(\),并希望得到它作为响应。
请检查以下示例:
在上面的 Mutation 我想在描述中发送双引号和反斜杠。请指导我克服这一点。
提前致谢。
mongodb - 基本的 graphQL Mongoose 设置
我关注了http://docs.apollostack.com/apollo-server/guide.html/和这个视频,并想尝试将它连接到 www.mlab.com 上的 db。该项目正在连接到 mlab 和 graphiql,但是当我在 graphiql 中运行查询时,我的查询得到了 null/undefined 值。
这是 schema.js
这是 connector.js:
这是 resolvers.js:
这是我的 mlab 对象的示例:
javascript - 循环 GraphQL 架构不工作
我有这样的:
和这个:
我得到错误:
错误:架构必须包含唯一的命名类型,但包含多个名为“驱动程序”的类型。
我发现一些帖子说将字段包装在功能块中可以解决问题,但正如您所见,我这样做了,但并没有什么不同。
应该支持稀薄的循环引用,是吗?我们可以让客户自己指定想要的深度。
我究竟做错了什么?
作为一种解决方法,我可以homeTerminal
从 DriverType 中删除并使用原始字段将其展平,但这相当不雅。
node.js - 通过 stardog 三元存储的 GraphQL 查询,但无法为结果创建类型系统
我正在尝试使用下面的 GraphQL 查询 stardog 服务器是代码。
我无法获得GraphiQL
UI 上查询的解析结果,而console.log(obj)
; inside getResult
Function 打印结果如下:-
但在 GraphiQL UI 中,结果显示的方式并不相同
javascript - 突变时的 GraphQL 验证错误
我正在尝试使用 Relay Todo 示例中的修改代码设置突变。
当我尝试编译时,出现以下错误:
我复制了 Todo 代码,所以我不知道为什么 Todo 突变工作正常,但我的新 Campaign 测试却没有。
这是我的 database.js 文件,我删除了 Todo 相关项以使文档更易于阅读:
这是我的 schema.js 文件,我再次删除了 Todo 相关项以使文档更易于阅读:
这是我的 AddCampaignMutation.js 文件:
最后,这是包含我的文本输入和对 AddCampaignMutation 的调用的应用程序文件:
javascript - GraphQL 排序自定义类型
我有一个投票应用程序的 graphql 环境,有用户、投票和投票。我在架构中的主要查询中,对我的应用程序中所有民意调查的查询(带有限制选项等等......),我也为每个用户提供了一个民意调查字段,我通常希望所有民意调查都是可排序的使用我自己的业务逻辑(例如大多数投票、最近投票等),我不希望为每个投票字段定义排序逻辑,并且通常使类型可排序。如何才能做到这一点?
这是我的代码,我目前只使用模拟数据库来测试和找出我需要的模式。现在到 GQL。