问题标签 [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.

0 投票
1 回答
734 浏览

relayjs - 使用连接和分页时GraphQL和数据库之间的关系?

使用 Relay 设置分页非常容易,但是有一个小细节我不清楚。

我的代码中的两个相关部分都标有注释,其他代码用于附加上下文。



我困惑的原因:

  • 如果我传递参数并在 db 查询中使用它first限制返回的结果,hasNextPage总是. 这是有效的,但它会破坏(如果你使用) falsehasNextPagehasPreviousPagelast
  • 如果我不传递first参数并且不在数据库查询中使用它来限制返回的结果,hasNextPage则按预期工作,但它将返回我查询的所有项目(可能是数千个)
    • 即使数据库在同一台机器上(对于更大的应用程序而言并非如此),这似乎非常、非常、非常低效和糟糕。请证明我错了!
    • 据我所知,GraphQL 没有任何服务器端缓存,因此没有必要返回所有结果(即使有,用户也不会浏览 100% 的内容)

这里的逻辑是什么?

我想到的一种解决方案是增加+1value firstin getUserPosts,它将检索一个多余的项目并且hasNextPage可能会起作用。但这感觉就像是一种黑客行为,并且总是有多余的物品被退回——如果有很多connections和请求,它会相对快速地增长。

我们是否期望像那样破解它?是否期望返回所有结果?

还是我误解了数据库和 GrahpQL / Relay 之间的整个关系?


如果我使用FB DataLoader和 Redis 会怎样?这会改变这个逻辑吗?

0 投票
2 回答
1073 浏览

rethinkdb - 重新思考数据库和 GraphQL?

我无法使用 rethinkdb 查询解析我的 graphQL 字段。我感觉这与 javascript 范围有关,但我几乎尝试了所有组合。这就是我目前所拥有的。

0 投票
0 回答
821 浏览

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 集成一起工作?

0 投票
1 回答
9853 浏览

graphql - 在 Graphql 请求中发送双引号和反斜杠

我想在 Graphql 请求中发送双引号(“)和反斜杠(\),并希望得到它作为响应。

请检查以下示例:

在上面的 Mutation 我想在描述中发送双引号和反斜杠。请指导我克服这一点。

提前致谢。

0 投票
1 回答
1141 浏览

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 对象的示例:

这是graphiql输出: 在此处输入图像描述

0 投票
1 回答
813 浏览

mongodb - GraphQL,Mongoose 解析器 RootQuery 语法

为了在 Graphiql 中返回此 MongoDB 实例中的项目列表,我的解析器查询需要看起来像什么。这是当前的解析器,它将所有项目记录到控制台,但未显示在 graphiql 中。

graphiql 查询和响应在这里:在此处输入图像描述

schema.js 中的类型定义

这是连接器:

数据库中的示例对象

这是 server.js 文件。

));

0 投票
1 回答
599 浏览

javascript - 循环 GraphQL 架构不工作

我有这样的:

和这个:

我得到错误:

错误:架构必须包含唯一的命名类型,但包含多个名为“驱动程序”的类型。

我发现一些帖子说将字段包装在功能块中可以解决问题,但正如您所见,我这样做了,但并没有什么不同。

应该支持稀薄的循环引用,是吗?我们可以让客户自己指定想要的深度。

我究竟做错了什么?

作为一种解决方法,我可以homeTerminal从 DriverType 中删除并使用原始字段将其展平,但这相当不雅。

0 投票
0 回答
215 浏览

node.js - 通过 stardog 三元存储的 GraphQL 查询,但无法为结果创建类型系统

我正在尝试使用下面的 GraphQL 查询 stardog 服务器是代码。

我无法获得GraphiQLUI 上查询的解析结果,而console.log(obj); inside getResultFunction 打印结果如下:-

但在 GraphiQL UI 中,结果显示的方式并不相同

0 投票
1 回答
1530 浏览

javascript - 突变时的 GraphQL 验证错误

我正在尝试使用 Relay Todo 示例中的修改代码设置突变。

当我尝试编译时,出现以下错误:

我复制了 Todo 代码,所以我不知道为什么 Todo 突变工作正常,但我的新 Campaign 测试却没有。

这是我的 database.js 文件,我删除了 Todo 相关项以使文档更易于阅读:

这是我的 schema.js 文件,我再次删除了 Todo 相关项以使文档更易于阅读:

这是我的 AddCampaignMutation.js 文件:

最后,这是包含我的文本输入和对 AddCampaignMutation 的调用的应用程序文件:

0 投票
2 回答
1625 浏览

javascript - GraphQL 排序自定义类型

我有一个投票应用程序的 graphql 环境,有用户、投票和投票。我在架构中的主要查询中,对我的应用程序中所有民意调查的查询(带有限制选项等等......),我也为每个用户提供了一个民意调查字段,我通常希望所有民意调查都是可排序的使用我自己的业务逻辑(例如大多数投票、最近投票等),我不希望为每个投票字段定义排序逻辑,并且通常使类型可排序。如何才能做到这一点?

这是我的代码,我目前只使用模拟数据库来测试和找出我需要的模式。现在到 GQL。